Christopher Juul Jensen (Tinkoff-Saxo), Michael Hepburn (Orica-GreenEdge) and Alessandro Bazzana (UnitedHealthcare) were the chief protagonists in the main break of the day and had a 1:30 lead over the peloton after 94km.
However they were reeled in with one kilometre of the race remaining.
Greipel held off Nacer Bouhanni (FDJ.fr) and Sam Bennett (NetApp-Endura) to take the bunch sprint to win his third stage of the six stage race.
Froome had assumed the GC lead by claiming Saturday's mountainous stage and had a trouble free run to finish safely in the bunch.
1 Andre Greipel (Ger) Lotto-Belisol 3:25:41
2 Nacer Bouhanni (Fra) FDJ.fr
3 Sam Bennett (Irl) NetApp-Endura
4 Alexander Kristoff (Nor) Katusha
5 Michael Morkov (Den) Tinkoff-Saxo
1 Chris Froome (GBr) Sky 22:02:26
2 Tejay van Garderen (USA) BMC 0:00:26
3 Rigoberto Uran (Col) Omega Pharma-QuickStep 0:00:31
4 Joaquim Rodriguez (Spa) Katusha 0:00:48
5 Robert Gesink (Ned) Belkin 0:00:57