Dylan Groenewegen snatched victory from Wout van Aert on the finish line to bring a dramatic end to the Tour de France's three-stage stint in Denmark.

The caravan packs up and heads to France ahead of stage four on Tuesday, and much of Sunday's 182-kilometre race from Vejle to Sonderborg was calm and controlled.

Yet a crash with just under 10km to go that almost caught two-time champion Tadej Pogacar sparked a frantic conclusion.

Fabio Jakobsen, the sprint favourite who triumphed on Saturday, had another fantastic lead-out from Michael Morkov, yet the Quick-Step Alpha Vinyl rider got caught in the pack.

Lotto Soudal's sprint hope Caleb Ewan was likewise frustrated as Peter Sagan took his line, and it looked as though he would compete with Van Aert, donning the yellow jersey after successive second-place finishes.

However, Groenewegen caught the pair cold, with a last-gasp lunge just nudging his front wheel across the line ahead of Van Aert, while Sagan was beaten to third by Jasper Philipsen.

Groenewegen has now won five stages at Le Tour, yet this one is perhaps the most meaningful, with the Dutchman having been banned for nine months in 2020 for causing a crash that left Jakobsen in a medically induced coma.

"I want to say thank you to my team and my family and friends for getting me back to the Tour in good shape. It's beautiful," said Groenewegen, who suffered a broken collar bone and needed facial reconstruction as a result of that collision at the 2020 Tour de Pologne, for which he subsequently apologised.

"Not physically a struggle, but mentally it was a hard time of course. This for my wife and my son, it means a lot to me."

Van Aert fails to find the funny side as Pogacar gets lucky

Having been pipped to the post by Jakobsen on Saturday, Team Jumbo-Visma rider Van Aert was frustrated by an even finer margin this time around, though can be consoled by the fact he retained the yellow jersey and has a 17-point lead in the points classification.

"It's not funny anymore," Van Aert quipped. "To finish second three days in a row!"

Pogacar will be looking to get the famous jersey off Van Aert later in the race as he hunts for his third straight Tour de France triumph, though the Slovenian was fortunate that he escaped the late crash. His back wheel was clipped, but he just managed to keep his balance.

STAGE RESULT 

1. Dylan Groenewegen (Team BikeExchange–Jayco) 4:11:33
2. Wout van Aert (Team Jumbo-Visma) same time
3. Jasper Philipsen (Alpecin-Deceuninck) same time
4. Peter Sagan (Team TotalEnergies) same time
5. Fabio Jakobsen (Quick-Step Alpha Vinyl) same time

CLASSIFICATION STANDINGS

General Classification

1. Wout van Aert (Team Jumbo-Visma) 9:01:17
2. Yves Lampaert (Quick-Step Alpha Vinyl) +0:07
3. Tadej Pogacar (UAE Team Emirates) +0:14

Points Classification

1. Wout van Aert (Team Jumbo-Visma) 107
2. Fabio Jakobsen (Quick-Step Alpha Vinyl) 90
3. Dylan Groenewegen (Team BikeExchange–Jayco) 60

King of the Mountains

1. Magnus Cort Nielsen (EF Education–EasyPost) 6