Callum Hudson-Odoi gave Chelsea a first-half lead (21) but it looked like Frank Lampard’s side would rue some wayward finishing when Serhou Guirassy headed home unmarked from a corner (85).
Both teams looked happy with a draw but Giroud – who has aired concerns over a lack of game-time at the club – came off the bench to bravely head home (90) after Timo Werner was denied.
The result, helped by Sevilla’s win in Krasnodar, means the Blues and the Spanish side are guaranteed to finish in the top two of Group E.
Ahead of Sunday’s monster clash with Tottenham, live on Sky Sports, Lampard’s side are now unbeaten in 13 games in all competitions (W6 D5) and have won their last six matches.
This is a limited version of the story so unfortunately this content is not available.
Rennes: Gomis (7), Traore (6), Da Silva (6), Nyamsi (6), Truffert (6), Bourigeaud (7), Nzonzi (6), Camavinga (6), Doku (6), Guirassy (7), Lea-Siliki (6)
Subs: Grenier (6), Niang (6), Gboho (6)
Chelsea: Mendy (8), Azpilicueta (7), Thiago Silva (8), Zouma (7), Chilwell (7), Kovacic (7), Jorginho (7), Mount (8), Werner (7), Abraham (7), Hudson-Odoi (8)
Subs: Kante (7), Giroud (8), Ziyech (7), Havertz (6), James (6)
Man of the match: Callum Hudson-Odoi
Lampard meets his former boss Jose Mourinho on Super Sunday when Spurs visit Stamford Bridge in what could be a huge game in the Premier League title race even at this early stage of the season.