The England U21 winger was put through by a sublime through pass from compatriot Mason Mount, finishing with a crisp low shot past Alfred Gomis.
It looked as though Rennes had stolen a point when Serhou Guirassy headed home from a corner with five minutes remaining.
But it was substitute Giroud, having played only 127 minutes this season, who headed the winner after Timo Werner's effort was blocked.
Speaking after the game, manager Frank Lampard said; "I'm very happy to qualify with two games to spare. It was a really tough match for us tonight.
"Rennes are a very good team. We played well for big spells of the game. It was a tough, had-fought win."