The German followed Katusha's Alexander Kristoff in the final kilometres, with the Norwegian opening up his sprint first. Greipel chose his time to attack well and sped past the Tour of Flanders winner.
Europcar's Bryan Coquard then beat Kristoff to the line with MTN-Qhubeka's Edvald Boasson Hagen finishing in fourth. Mark Cavendish found himself having to latch onto another team's sprint train in the final kilometres but couldn't match his rival sprinters, crossing in sixth.
With rain teeming down for much of the stage and hours beforehand, organisers decided to take the winner's time on the first crossing of the finish line after 41km. Froome allowed himself a smile as he wheeled over the line in the main bunch, knowing he just had to finish the final 68km to win the race.
An incredibly sedate pace finally picked up as Sylvain Chavanel made the first breakaway of the day, taking the intermediate sprint points, until he was reeled back in.
Finally a real breakaway formed with Kenneth Vanbilsen (Cofidis), Nelson Oliveira (Lampre-Merida) and Florian Vachon (Bretagne-Séché Environnement) joined by BMC's Rohan Dennis in the final 10km.
Vanbilsen made his move alone with 7km to go, but Dennis bridged the gap, looking to bookend his Tour de France with victories. The gap was rarely more than 10 seconds, though, as the peloton plundered along the cobbled street behind them.
The lone riders were caught with 4km to go as the sprinters' teams came to the fore. Orica-GreenEdge and Lotto-Soudal interchanged with FDJ and Katusha at the front of the bunch until Kristoff made the first move.
Greipel was not to be beaten, though, as he proved he is the Tour's best sprinter with his fourth stage win.
Tour de France stage 21 - Sevres - Paris (109.5km)
1. Andre Greipel (Ger) Lotto-Soudal, 2:49:41
2. Bryan Coquard (Fra) Europcar, st
3. Alexander Kristoff (Nor) Katusha, st
4. Edvald Boasson Hagen (Nor) MTN-Qhubeka, st
5. Arnaud Demare (Fra) FDJ, st
6. Mark Cavendish (Gbr) Etixx-Quick-Step, st
7. Peter Sagan (Svk) Tinkoff-Saxo, st
8. John Degenkolb (Ger) Giant-Alpecin, st
9. Michael Matthews (Aus) Orica-GreenEdge, st
10. Ramunas Navardauskas (Lit) Cannondale-Garmin, st.
Final standings in general classification
1. Chris Froome (GBr) Team Sky in 84-46-14
2. Nairo Quintana (Col) Movistar at 1-12
3. Alejandro Valverde (Spa) Movistar at 5-25
4. Vincenzo Nibali (Ita) Astana at 8-36
5. Alberto Contador (Spa) Tinkoff-Saxo
6. Robert Gesink (Ned) LottoNL-Jumbo at 10-47
7. Bauke Mollema (Ned) Trek Factory Racing at 15-14
8. Mathias Frank (Swi) IAM Cycling at 15-39
9. Romain Bardet (Fra) Ag2r at 16-00
10. Pierre Rolland (Fra) Euopcar at 17-30
Thank you for reading 5 articles this month* Join now for unlimited access
Enjoy your first month for just £1 / $1 / €1
*Read 5 free articles per month without a subscription
Join now for unlimited access
Try first month for just £1 / $1 / €1
Stuart Clarke is a News Associates trained journalist who has worked for the likes of the British Olympic Associate, British Rowing and the England and Wales Cricket Board, and of course Cycling Weekly. His work at Cycling Weekly has focused upon professional racing, following the World Tour races and its characters.
How a 3,427 mile bike ride around Britain saved one writer's mental health
Simon Parker, author and critically acclaimed travel writer, says that journey by bike around Britain in the height of the pandemic uncovered some of his best stories yet
By Tom Thewlis • Published
Katie Archibald left 'disappointed' after Track Champions League round four
The 28-year-old trails by eight points ahead of the competition’s final round
By Tom Davidson • Published
Chris Froome labels WorldTour relegation a ‘death sentence for many teams’
Four-time Tour de France winner says UCI points system needs overhaul as Israel-PremierTech face relegation from the WorldTour
By Tom Thewlis • Published
Chris Froome still holds out hope for fifth Tour de France win
Israel-Premier Tech rider