Britain’s Simon Yates claimed his second Tour de France stage win as defending champion Geraint Thomas clawed back time from leader Julian Alaphilippe on an enthralling stage 15.
Yates, who also won stage 12, kicked clear of Simon Geschke with 8.6km left to ride to victory on the Prat d’Albis.
Thomas stays second overall but gained 27 seconds on Alaphilippe after a late attack distanced the Frenchman.
Yet Thibaut Pinot was the biggest winner among the overall contenders.
He backed up his stage 14 win by repeatedly attacking his rivals and finished second on the day to move up to fourth overall, now just 15 seconds down on Thomas.
Alaphilippe fought hard to limit his losses and retain the yellow jersey but showed his first signs of weakness in the mountains, with the final week set to be one of the closest races in years.
Egan Bernal again looked more comfortable than Thomas on the steeper sections, the young Colombian gaining 31 seconds on his Ineos team-mate.
“I felt better than yesterday but I needed to try to pace it when it all kicked off,” Thomas told ITV4.
“It’s a difficult one, tactics wise – I wanted to go, I had the legs to go but I wasn’t going to chase down Egan [Bernal] with Alaphilippe on my wheel.”
- BeSpoke at the Tour: Wide open
- Relive stage 15 of the Tour de France
Yates’ show of strength
After a frantic first 50km of racing, a large breakaway group containing Yates got clear but were whittled down over the next two climbs.
Geschke attacked with 3km to go on the penultimate climb, the Mur de Peguere, before Yates joined him at the summit and they worked together to increase the gap to a chasing group containing Romain Bardet and Nairo Quintana.
Yates showed his strength by bursting away from Geschke and building up an assailable lead on the Prat d’Albis to deny the surging Pinot and Mikel Landa, who had launched a long-range attack with about 40km to go.
A second stage win, just three days after his maiden victory, marks an impressive return to form for Yates after a disappointing Giro d’Italia and has helped Mitchelton-Scott enjoy a successful Tour despite twin brother Adam fading further from contention on Sunday.
“I’m very proud of what I did there – it was extremely hard from the start to the finish but I raced aggressively and I managed to pull it off,” he said.
“That took a lot of effort and I’m very tired now but there might be more chances, we’ll see.”
A thrilling race for yellow
Alaphilippe defied expectations by winning Friday’s time trial and extending his lead over Thomas on the Tourmalet on Saturday, but this performance was closer to his pedigree in the high mountains.
The Deceuninck Quick-Step rider, who had no team-mates left on the final climb, was able to follow Pinot’s first attack that dropped Thomas, only to pay for that effort when the Welshman reeled him back in and passed him.
The Frenchman was visibly exhausted at the finish and repeatedly said he was just “happy to have one more day in yellow”, perhaps acknowledging that a lead of 1:35 will not be enough with three tough stages in the Alps to come.
There are just 39 seconds covering Thomas in second to Emanuel Buchmann in sixth in the race to replace Alaphilippe in yellow.
Ineos at best have two options to play, at worst a leadership conundrum and Thomas not wanting to risk bringing Alaphilippe back to Bernal means he has lost costly time to Pinot.
Pinot, who looks the best climber in the race, has now made up the time he lost to Thomas in the crosswinds on stage 10 and his Groupama-FDJ team are getting their tactics right.
After Monday’s rest day, the Tour resumes on Tuesday with a flat stage around Nimes that should end in a bunch sprint finish.
Stage 15 result
1. Simon Yates (GB/Mitchelton-Scott) 4 hrs 47 mins 4 secs
2. Thibaut Pinot (Fra/Groupama-FDJ) +33secs
3. Mikel Landa (Spa/Movistar) same time
4. Emanuel Buchmann (Ger/Bora-Hansgrohe) +51secs
5. Egan Bernal (Col/Team Ineos) same time
6. Lennard Kamna (Ger/Team Sunweb) +1min 3secs
7. Geraint Thomas (GB/Team Ineos) +1min 22secs
8. Steven Kruijswijk (Ned/Jumbo-Visma) same time
9. Alejandro Valverde (Spa/Movistar) same time
10. Richie Porte (NZ/Trek-Segafredo) +1min 30secs
General classification after stage 15
1. Julian Alaphilippe (Fra/Deceuninck Quick-Step) 61hrs 0mins 22secs
2. Geraint Thomas (GB/Team Ineos) +1min 35secs
3. Steven Kruijswijk (Ned/Jumbo-Visma) +1min 47secs
4. Thibaut Pinot (Fra/Groupama-FDJ) +1min 50secs
5. Egan Bernal (Col/Team Ineos) +2mins 2secs
6. Emanuel Buchmann (Ger/Bora-Hansgrohe) +2mins 14secs
7. Mikel Landa (Spa/Movistar) +4mins 54secs
8. Alejandro Valverde (Spa/Movistar) +5mins
9. Jakob Fuglsang (Den/Astana Pro Team) +5mins 27secs
10. Rigoberto Uran (Col/EF Education First) +5mins 33secs