Kasper Asgreen claimed his first Tour de France stage victory as he held on to win stage 18 from an epic breakaway.
The Soudal Quick-Step rider, 28, was part of a four-man group which seemed destined to be caught during the closing stages in Bourg-en-Bresse.
But the leaders managed to stay clear, with Dane Asgreen outsprinting Pascal Eenkhorn and Jonas Abrahamsen.
Compatriot Jonas Vingegaard maintained his comfortable overall lead with just three stages left.
Two-time winner Tadej Pogacar remains seven minutes and 35 seconds behind the defending champion, with Britain’s Adam Yates third.
How an unlikely breakaway victory unfolded
Jasper Philipsen was hoping for his fifth stage win of this year’s Tour on the flat 184.9km route from Moutiers.
The stage appeared a perfect opportunity for the sprinters to take centre stage after coming through five successive mountain stages – including Wednesday’s gruelling Queen stage to Courchevel.
And although the Alpecin-Deceuninck rider managed to pass Victor Campenaerts metres from the finish, the peloton had left it fractionally too late to reel in the rest of the breakaway group.
This was not supposed to happen.
Only three men broke clear initially once the racing got under way, with Asgreen, Campenaerts and Jonas Abrahamsen eventually joined by Pascal Eenkhoorn.
That was after an initial attempt by Eenkhoorn had been shut down by Philipsen, and the lead four were never allowed much more than a one-minute advantage.
But a disorganised peloton misjudged its final effort, leading to a thrilling chase to the finish in which Campenaerts took one last significant turn on the front to ensure the breakaway prevailed – with Asgreen showing the best legs in the closing metres.
Friday’s 19th stage appears a chance for the sprint teams to redeem themselves as the peloton travels across the Jura Mountains, without tackling any major climbs, over a 172.8km route from Moirans-en-Montagne to Poligny.
Stage 18 results
1. Kasper Asgreen (Den/Soudal-Quick-Step) 4hrs 06min 48secs
2. Pascal Eenkhorn (Ned/Lotto-Dstny) same time
3. Jonas Abrahamsen (Nor/Uno-X)
4. Jasper Philipsen (Bel/Alpecin-Deceuninck)
5. Mads Pedersen (Den/Lidl-Trek)
6. Cees Bol (Ned/Astana Qazaqstan)
7. Jordi Meeus (Bel/Bora-Hansgrohe)
8. Matteo Trentin (Ita/UAE Team Emirates)
9. Christophe Laporte (Fra/Jumbo-Visma)
10. Luca Mozzato (Ita/Arkea-Samsic)
General classification after stage 18
1. Jonas Vingegaard (Den/Jumbo-Visma) 72hrs 04mins 39secs
2. Tadej Pogacar (Slo/UAE Team Emirates) +7min 35secs
3. Adam Yates (GB/UAE Team Emirates) +10mins 45secs
4. Carlos Rodriguez Cano (Spa/Ineos Grenadiers) +12mins 1sec
5. Simon Yates (GB/Team Jayco-AlUla) +12mins 19secs
6. Pello Bilbao (Spa/Bahrain Victorious) +12mins 50secs
7. Jai Hindley (Aus/Bora-Hansgrohe) +13mins 50secs
8. Felix Gall (Aut/AG2R) +16mins 11secs
9. Sepp Kuss (US/Jumbo-Visma) +16mins 49secs
10. David Gaudu (Fra/Groupama-FDJ) +17mins 57secs