It was a chaotic lead-in to the finish as a nervy peloton produced several crashes, one of which brought down overall contender Egan Bernal and his Australian teammate Luke Plapp (INEOS Grenadiers) and affected Jayco-AlUla's lead-out for Groenewegen.
But the Dutchman was able to come back and produce a superb turn of speed at the line and edge out Sam Bennett (BORA-Hansgrohe) in second and Ewan in third. As well as taking stage honours, Groenewegen pulled on the yellow jersey as overall leader with four stages to go.
“For sure it was a hectic finish but what we expected before the race due to some wind from the back, which made it a really fast finale,” Groenewegen said following the stage.
“It was also a bit up and down on big roads that made it a bit hectic. There was a bit of stress but for every team, it was the same.
“Our team was really good at the right moment. I got a bit boxed in but BORA was there with a lead-out and and had [Luka] Mezgec for my lead out, so I went in the slipstream of Danny van Poppel, then it was a really nice sprint between me and Sam Bennett.
“It was close but in the end, I got the victory. A close finish is also a win and it’s a nice way to start the Tour de Hongrie like this.”
Third in his first race since early April was a good result for Ewan, and the Australian thanked his Lotto-DSTNY teammates for their work in the final as he looked ahead to the rest of the race, another chance for him coming tomorrow in another likely sprint finish at Keszthely.
"After a quite relaxed stage, the final was really hectic," Ewan said in a post from his team on Twitter.
"The boys did a really good job to deliver me, and my sprint was alright but maybe not great. I got squeezed a bit in the final 300m, I came back but didn't have the legs to come all the way around.
"Tomorrow is another chance, so of course we go again!"
The Tour de Hongrie continues tonight with Stage 2, a 175.3km course from Zalaegerszeg to Keszthely, where Caleb Ewan is likely to contest another bunch sprint. Watch the action LIVE from 10:50pm (AEST) on SBS On Demand.