Ewan and Groenewegen matched each other for speed hitting around 70 kilometres per hour in the last 100 metres.
Even the Ausssie's bike looked like it couldn't handle it, the back wheel popping up in the final 30 metres, as his legs acted like pistons to ferociously move the pedals. Marginal gains may be a cliche, but at this level and among this year's Tour sprint field, the little things like traction might lose you a bike race.
But Groenewegen didn't: he and Jumbo-Visma team-mates ensuring they got it right this time.
"I had a difficult start to the Tour but yesterday I felt good again," said Groenewegen. "Today the team really charged for me. And it was great. We took the lead very early but it was good.
"I started my sprint with 350 metres to go. I saw that Ewan had gone but fortunately it was enough. The first day was not at all what I expected and we worked very hard to get to this moment. I'm really happy with the team. After the last sprint stage they said they believed in me and they worked really hard for me."
"It's always very close with Caleb as he's a very good sprinter. I like to sprint against him. But this time I won."
The bee coloured train took over from Ineos at the front with three killometres to go once Bernal and Thomas were out of danger. Wout van Aert drove for a kilometre or so swapping out for Amund Grøndahl Jansen and while they fell behind Deceuninck-Quickstep and BORA-hansgrohe with 1.5 kilometres to go, Groenewegen never lost Mike Teunissen's wheel until he unhooked and surfed behind others in the final 500 metres.
The Deceuninck-Quickstep train set the race up perfectly for Viviani only for the Italian to be passed by the other sprinters, later revealing that he had suffered a slow puncture in the run to the finish.
The prodigiously fast Dutchman only hit the front in the final 150 metres as Ewan came around Sagan to speed home down the right hand side.
After the peloton suffered in the mountains yesterday and with a harder day on the cards tomorrow, the longest stage of the 106th edition of Tour de France went according to script. Two riders ploughed a lonely trail off the front for 217 kilometres, with Yoann Offredo (Wanty-Gobert) and Stephane Rossetto (Cofidis) swept up 13 kilometres from the finish.
Jumbo-Visma's diesel Tony Martin was near or at the front of the bunch for the entire stage, piloting the train to within nine kilometres of the finish.
There were no significant changes to the general classfication, defending champion Geraint Thomas did get involved in a late crash, but reassured fans post-stage that there was no permanent damage.