The two sprinters undertook a closely-matched duel in the Suffolk town, with Greipel edging the victory by millimetres. Norwegian Sondre Holst Enger (IAM Cycling) came in for third.
Overall race leader Edvald Boasson Hagen (MTN-Qhubeka) finished in fifth place to safely retain the yellow jersey going into Sunday’s final stage in London – and it now looks likely that the Norwegian will seal his second overall win in the race.
After the day’s original four-man break of Chris Opie (One Pro Cycling), Tom Stewart (Madison-Genesis), Johnny McEvoy (NFTO) and Alistair Slater (An Post-Chain Reaction) was reeled in, a new escape unit formed consisting of Alex Dowsett (Movistar), Graham Briggs (JLT Condor), Bram Tankink (LottoNL-Jumbo) and Gabriel Cullaigh (Great Britain).
Tankink sat up, leaving the all-British trio to forge ahead and opened up a gap of over seven minutes before the peloton worked to pull them back.
After Lotto-Soudal took a long turn at the front, Madison-Genesis took up the pace-setting in an attempt to catch the break and get their man Stewart into the action to claim the final King of the Mountains points on offer and get the KoM jersey from One Pro Cycling’s Peter Williams.
Madison-Genesis’s efforts saw Dowsett get caught first with 21km to go. Briggs and Cullaigh were caught with 18km to go on the final climb. Despite all of Madison-Genesis’s effortt, it was One Pro Cycling’s Williams that grabbed the KoM points to secure the jersey.
Immediately, Zdenek Stybar (Etixx-QuickStep) attacked over the top of the hill but was caught after a handful of kilometres. Then Welshman Rob Partridge (NFTO) had a go, but was caught with 9km to go.
Lotto-Soudal and Sky then hit the front of the peloton as their sprint trains organised themselves for Greipel and Viviani.
Greipel hit the front in the final 500 metres, but Viviani accelerated briskly to his left and for a moment it looked as though the Italian had taken his third stage victory in the race. However, a study of the finish-line photos confirmed that Greipel had taken the stage.
Dylan Teuns (BMC Racing) was forced to abandon the race after being caught up in a crash as the peloton passed through RAF Wattisham airfield. The Belgian started the day in fifth place overall.
Teuns’ BMC team-mate Taylor Phinney was a non-starter in Fakenham citing fatigue. The American is still on the comeback trail from a serious leg injury in May 2014, and will now rest up before the 2015 World Championships in Richmond, USA, at the end of September where he is scheduled to ride the road race and time trial.
Just one stage of the 2015 Tour of Britain remains: the flat, fast finale in London. The riders will tackle 15 laps of a 6.2km circuit and the stage is predicted to culminate in a bunch sprint, although home favourite Mark Cavendish (Etixx-QuickStep) is absent after he withdrew from the race on Friday after crashing.
Tour of Britain 2015, stage seven: Fakenham to Ipswich, 225km
1. André Greipel (Ger) Lotto-Soudal in 5-14-42
2. Elia Viviani (Ita) Team Sky
3. Sondre Holst Enger (Nor) IAM Cycling
4. Mark Renshaw (Aus) Etixx-QuickStep
5. Edvald Boasson Hagen (Nor) MTN-Qhubeka
6. Owain Doull (GBr) Great Britain
7. Rasmus Guldhammer (Den) Cult Energy
8. Jonas Vangenechten (Bel) IAM Cycling
9. Dylan Van Baarle (Ned) Cannondale-Garmin
10. Jens Debusschere (Bel) Lotto-Soudal all same time
Overall classification after stage seven
1. Edvald Boasson Hagen (Nor) MTN-Qhubeka