Several of the sprinters' trains were disrupted on the run-in to Bourg-de-Péage after a series of roundabouts, turns and a draggy rise into a headwind to the line.
Greipel put himself into the perfect position in the scrappy bunch sprint finale to win by over a bike length ahead of former race leader Arnaud Démare (FDJ), with Dutch champion Dylan Groenewegen (LottoNL-Jumbo) in third.
Overnight race leader Julian Alaphilippe (Quick-Step Floors) finished in the peloton to retain his position in the yellow jersey. The Frenchman leads compatriot Tony Gallopin (Lotto-Soudal) by 33 seconds overall, with Spaniard Gorka Izagirre (Movistar) in third at 47 seconds.
It wasn't all plain sailing for Alaphilippe, as he momentarily lost contact with the front group after the peloton split as a result of a crash just inside the final 20km.
As the two parts of the peloton rejoined, they soon after caught the remnants of the day's escape group, which had comprised Axel Domont (Ag2r), Natnael Berhane (Dimension Data), Pierre-Luc Perichon (Fortuneo-Vital Concept), Lilian Calmejane (Direct Energie), Federico Zurlo (UAE Team Emirates) and Remy di Gregorio (Delko-Marseille) after they attacked in the opening kilometres.
Watch: André Greipel's Ridley Noah SL
As various teams moved to the front of the race, some squads became fragmented due to the number and size of the roundabouts. At one point, Alaphilippe tagged himself onto the back of the Katusha team at the front of the bunch, evidently mindful of the earlier incident.
In among all the chaos, Greipel did not panic. Positioning himself perfectly in the finale and using his strength to burst ahead of his rivals into the headwind and take the victory – his third of the year, and first in a 2017 WorldTour race.
Thursday's stage represented the last chance for the sprinters to go for a win, as the race heads into more mountainous terrain. Friday's stage six runs for 193.5km from Aubagne to Fayence and includes six categorised climbs, including a final second category ascent to the line.
It will be a stern test for Alaphilippe, as the 24-year-old leads a major stage race in his home nation with the weight of expectation on his shoulders. Paris-Nice has not been won by a Frenchman since Laurent Jalabert in 1997.
Paris-Nice 2017, stage five: Quincié-en-Beaujolais to Bourg-de-Péage, 199.5km
1. André Greipel (Ger) Lotto-Soudal
2. Arnaud Démare (Fra) FDJ
3. Dylan Groenewegen (Ned) LottoNL-Jumbo
4. Michael Matthews (Aus) Team Sunweb
5. John Degenkolb (Ger) Trek-Segafredo
6. Magnus Cort Nielsen (Den) Orica-Scott
7. Marcel Kittel (Ger) Quick-Step Floors
8. Bryan Coquard (Fra) Direct Energie
9. Sonny Colbrelli (Ita) Bahrain-Merida
10. Sam Bennett (Irl) Bora-Hansgrohe, all same time
13. Ben Swift (GBr) UAE Team Emirates
14. Dan McLay (GBr) Fortuneo-Vital Concept
19. Julian Alaphilippe (Fra) Quick-Step Floors, at same time
General classification after stage five
1. Julian Alaphilippe (Fra) Quick-Step Floors, in 17-20-02
2. Tony Gallopin (Fra) Lotto-Soudal, at 33 secs
3. Gorka Izagirre (Esp) Movistar, at 47 secs
4. Sergio Henao (Col) Team Sky, at 1-05
5. Daniel Martin (Irl) Quick-Step Floors, at 1-20
6. Philippe Gilbert (Bel) Quick-Step Floors, at 1-24
7. Ilnur Zakarin (Rus) Katusha-Alpecin, at 1-28
8. Arnaud Démare (Fra) FDJ, at 1-29
9. Alberto Contador (Spa) Trek-Segafredo, at 1-31
10. Rudy Molard (Fra) FDJ, at 1-32
15. Simon Yates (GBr) Orica-Scott, at 2-16
Thank you for reading 20 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