Britain’s Adam Yates held on to the Tour de France leader’s yellow jersey as Nans Peters claimed a superb solo win on stage eight in the Pyrenees.
Yates survived several attacks to finish in a group containing many of the overall race favourites.
A tough day of climbing on the 141km-route from Cazeres-sur-Garonne to Loudenvielle scattered the peloton.
France’s Peters led home the survivors of a 13-man breakaway to record a memorable win.
However, it was a much less enjoyable day for home favourite Thibaut Pinot, who effectively lost all hope of becoming the first Frenchman to win the race since 1985.
Dropped on the second climb of the day, Pinot finished over 25 minutes behind Peters and lost around 19 minutes on all the main general classification contenders.
‘I’m not going to throw it away’
Yates also looked to be suffering up the final climb of the day on the Col de Peyresourde after Julian Alaphilippe’s burst sparked a series of attacks.
However, the Mitchelton-Scott rider responded each time to maintain his three-second advantage over Primoz Roglic.
“In the end I did my thing and tried to stay with the best guys, and here we are,” said Yates.
“Right at the bottom of the last climb [Tom] Dumoulin set a ferocious pace and I couldn’t hold the wheel.
“I had to ride at my own pace for a little bit, collect myself, but I pulled my way back and over the top I managed to stay with the guys so all in all it was a good day.
“It’s not every day you lead the Tour de France so I’m not going to throw it away, I want to keep it as long possible.”
Romain Bardet’s late surge saw him leapfrog both Nairo Quintana and defending champion Egan Bernal in the overall standings.
Ineos Grenadiers’ Bernal retains the best young rider’s white jersey as part of a quartet of Colombian riders 13 seconds off the yellow jersey but Jumbo Visma’s Tom Dumoulin dropped to 15th after losing two minutes.
‘It was a dream and I made it’
Riding in his maiden Tour de France, Peters produced the outstanding performance of the day after going clear of Ilnur Zakarin on the descent of the Port de Bales.
While the Russian CCC rider temporarily closed the gap, Peters maintained his rhythm to claim his second Grand Tour stage victory.
“This is crazy. It was already something unbelievable to win a stage on my first participation to the Giro d’Italia last year and now it’s the same at the Tour de France,” said the AG2R-La Mondiale rider.
“It was a dream and I made it. I knew Zakarin was stronger than me up the climbs but I never gave up.
“I convinced myself to not crack. I had seen in the downhill of Port de Bales that he descended like a goat so I was confident of beating him in the finale of the stage.”
Sunday’s ninth stage sees the race spend a second day in the Pyrenees as it travels the 153km route from Pau to Laruns before Monday’s rest day.
Stage eight result
1. Nans Peters (Fra/AG2R-La Mondiale) 4hrs 02mins 12secs
2. Toms Skujins (Lat/Trek-Segafredo) +47secs
3. Carlos Verona (Spa/Movistar) Same time
4. Ilnur Zakarin (Rus/CCC) +1mins 09secs
5. Neilson Powless (US/EF Pro Cycling) +1mins 41secs
6. Ben Hermans (Bel/Israel Start-Up Nation) +3mins 42secs
7. Quentin Pacher (Fra/B&B Hotels-Vital Concept) Same time
8. Soren Kragh Anderson (Den/Sun) 4mins 04secs
9. Tadej Pogacar (Slo/UAE-Team Emirates) 6mins 00secs
10. Romain Bardet (Fra/AG2R-La Mondiale) 6mins 38secs
1. Adam Yates (GB/Mitchelton-Scott) 34hrs 44mins 52secs
2. Primoz Roglic (Slo/Jumbo-Visma) +3secs
3. Guillaume Martin (Fra/Cofidis) +9secs
4. Romain Bardet (Fra/AG2R-La Mondiale) +11secs
5. Egan Bernal (Col/Ineos Grenadiers) +13secs
6. Nairo Quintana (Col/Arkea-Samsic) Same time
7. Miguel Angel Lopez (Col/Astana)
8. Rigoberto Uran (Col/EF Pro Cycling)
9. Tadej Pogacar (Slo/UAE-Team Emirates) +48secs
10. Enric Mas (Spa/Movistar) +1mins 00secs