Ion Izagirre soloed to victory on stage 12 of the Tour de France after launching a superb attack 31km from the finish in Belleville-en-Beaujolais.
The Spanish rider finished 58 seconds clear of Mathieu Burgaudeau and Matteo Jorgenson, who were second and third.
A chaotic and aggressive attacking stage saw a much-reduced peloton cross the line almost four minutes down.
Jonas Vingegaard maintained his 17-second advantage in the race for the overall leader’s yellow jersey.
French rider Thibaut Pinot moved into the top 10 of the general classification with a strong showing on the 168.8km route that took in five categorised climbs on the rolling hills between the Loire and the Rhone.
The stage always favoured the breakaway but it took nearly 90km before a 15-man group was able to establish a sizable advantage.
Dutch puncheur Mathieu van Der Poel attempted to make the first decisive move but was caught on the final climb of the Col de la Croix Rosier, with Izagirre then countering superbly to launch his stage-winning move.
“I was confident in my strength. I knew that if I earned enough lead, my adversaries wouldn’t have me in sight and it would play in my favour,” said the Cofidis rider, who has claimed four individual stage wins across cycling’s three Grand Tours.
“I felt strong in the last kilometres. Many things went through my mind. It’s all very emotional.”
The 34-year-old Spaniard’s triumph came 11 days after Victor Lafay claimed a first stage win in 15 years for the French team.
A short, brutal 137.8km stage awaits on Friday as the race enters the Jura Mountains for a summit finish on the fearsome Grand Colombier.
Stage 12 results
1. Ion Izagirre (Spa/Cofidis) 3hrs 51mins 42secs
2. Mathieu Burgaudeau (Fra/TotalEnergies) +58secs
3. Matteo Jorgenson (US/Movistar) Same time
4. Tiesj Benoot (Bel/Jumbo-Visma) +1min 06secs
5. Tobias Halland Johannessen (Nor/Uno-X) +1min 11secs
6. Thibaut Pinot (Fra/Groupama-FDJ) +1min 13secs
7. Guillaume Martin (Fra/Cofidis) Same time
8. Dylan Teuns (Bel/Israel-Premier Tech) +1min 27secs
9. Ruben Guerreiro (Por/Movistar) Same time
10. Victor Campenaerts (Bel/Lotto Dstny) +3mins 02secs
General classification after stage 12
1. Jonas Vingegaard (Den/Jumbo-Visma) 50hrs 30mins 22secs
2. Tadej Pogacar (Slo/UAE Team Emirates) +17secs
3. Jai Hindley (Aus/Bora-Hansgrohe) +2mins 40secs
4. Carlos Rodriguez Cano (Spa/Ineos Grenadiers) +4mins 22secs
5. Pello Bilbao (Spa/Bahrain Victorious) +4mins 34secs
6. Adam Yates (GB/UAE Team Emirates) +4mins 39secs
7. Simon Yates (GB/Team Jayco-AlUla) +4mins 44secs
8. Thomas Pidcock (GB/Ineos Grenadiers) +5mins 26secs
9. David Gaudu (Fra/Groupama-FDJ) +6mins 01secs
10.Thibaut Pinot (Fra/Groupama-FDJ) +6mins 33secs