Sehrou Guirassy looked as though he had secured a point for his side with an equaliser minutes earlier, but Giroud profited from some poor Rennes defending to claim the win after Callum Hudson-Odoi had put the visitors in front in the first half.
Chelsea top Group E with 10 points from four games, level with Sevilla but ahead on goal-difference, after the Spanish side also claimed a late 2-1 victory in Russia against Krasnodar to seal their passage into the knockout stages.
"I'm very happy to qualify with two games to spare," said Chelsea manager Frank Lampard. "It was a really tough match, they're a very good team. Their recent form doesn't reflect how good they are, it was a tough hard-fought win."
Rennes, who have one point, had their moments but were largely kept at bay by Chelsea goalkeeper Edouard Mendy, who left the Brittany club for Stamford Bridge in September and made a number of outstanding saves.
The visitors should have gone in front inside four minutes as Timo Werner inexplicably blasted over from close-range with the goal gaping.
Hudson-Odoi’s low cross just needed to be steered into the net, but the German forward fired well over the bar from six yards out.
Gomis saved brilliantly from Mount, but it was Mendy who was the busier of the two goalkeepers. He was finally beaten on 85 minutes as Guirassy was left unmarked at a corner and powered his header into the net.
It looked to have sealed a point for the home side, but when Rennes gave up possession just outside their box, Hakim Ziyech set up Werner, whose shot was saved by Gomis, only for substitute Giroud to head in the rebound.
"It wasn't just his goal when he came on but his hold-up play and physicality," said Lampard. "...you saw the reaction to his goal, and that wasn't just because it was a late winner, it shows what he does day-to-day and what he means to the team."