The Irishman produced a late burst in the final 10 metres and threw his bike to seal the win.
Groenewegen (Jumbo–Visma) came second, with Jasper Philipsen (UAE Team Emirates) third. Jurgen Roelandts (Movistar). The trio did well to avoid a crash on the final turn and fight it out for the podium places.
'The gears were jumping like mad!' - Bennett reveals his bike broke during finish
The Bora-Hansgrohe rider sits top of the general classification, with Philipsen and Groenewegen both 20 seconds behind him.