Dylan Teuns won Stage 6 of the 2019 Tour de France on Thursday ahead of Giulio Ciccone.
The Belgian edged over the line first after the pair fought for the victory during the final climb.
Julian Alaphilippe had started the day in the yellow jersey, and a late charge appeared to keep the Frenchman in the overall lead.
However, Ciccone did enough to top the general classification by six seconds after a magnificent display from Mulhouse to La Planche des Belles Filles.
Tour champion Geraint Thomas completed the stage in fourth after a powerful finish during the final kilometre.
Stage 6 Result
1. Dylan Teuns, Bahrain-Merida, 4 hours, 29 minutes, three seconds
2. Giulio Ciccone, Trek-Segafredo, 0:00:11
3. Xandro Meurisse, Wanty-Gobert, 0:01:05
4. Geraint Thomas, Team Ineos, 0:01:44
5. Thibaut Pinot, Groupama-FDJ, 0:01:46
6. Julian Alaphilippe, Deceuninck-QuickStep, 0:01:46
7. Nairo Quintana, Movistar Team, 0:01:51
8. Emanuel Buchmann, Bora-Hansgrohe, 0:01:51
9. Jakob Fuglsang, Astana Pro Team, 0:01:53
10. Mikel Landa, Movistar Team, 0:01:53
1. Giulio Ciccone, Trek-Segafredo, 23:14:55
2. Julian Alaphilippe, Deceuninck-QuickStep, 0:00:06
3. Dylan Teuns, Bahrain-Merida, 0:00:32
4. George Bennett, Team Jumbo-Visma, 0:00:47
5. Geraint Thomas, Team Ineos, 0:00:49
6. Egan Bernal, Team Ineos, 0:00:53
7. Thibaut Pinot, Groupama-FDJ, 0:00:58
8. Steven Kruijswijk, Team Jumbo-Visma, 0:01:04
9. Michael Woods, EF Education First, 0:01:13
10. Rigoberto Uran, EF Education First, 0:01:15
The full results are available from the Tour de France's official website.
The true climbers benefited over the 160.5-kilometre stage, but seven categorised climbs was still a notable challenge to overcome.
Cycling journalist Will Newton highlighted the gradients:
Will Newton @InsidePeloton96
This is it. The stage we've all been waiting for. Sound the sirens, light the beacons, the war for the yellow jersey stars here. Stage 6: Mulhouse > La Planche des Belle Filles (160.5km) Who's a GC contender, and who's just a yellow pretender? 👇👇👇 #TDF2019🇫🇷 #PreviewTime https://t.co/1tAtfLQnL2
As expected, the peloton was split early, with teams following different strategies within the core pack.
The finishing stretch contained a gravel road, and Ciccone tussled with Mikel Landa and Nairo Quintana over the last 10 kilometres.
The stage then developed into a two-horse race, and Ciccone was chased by Teuns in a breakaway.
Ciccone's legs appeared in great shape, with the Italian out of his seat and pushing. However, the Trek-Segafredo rider was eventually beaten by Teuns, who had saved enough in the tank to prevail.
The final moments were lit up by Thomas' performance, with the Welshman exploding towards the finish line to enhance his GC chances.
Thomas timed his final climb to perfection, and his patience allowed him to ride to his own tactics.
Despite Ciccone's disappointment after being pipped to the stage win, the yellow jersey is a deserved reward for the 24-year-old.