Britain’s Geraint Thomas extended his lead in the Tour de France as defending champion Chris Froome faltered on the final climb on stage 17.
The Welshman, 32, who is chasing his first Grand Tour victory, leads Team Sky team-mate Froome by two minutes 31 seconds with four stages left.
Thomas’ closest general classification rival is now Dutchman Tom Dumoulin, who is 1:59 behind, with Froome in third.
Nairo Quintana held off Ireland’s Dan Martin to win the 65km (40-mile) stage.
Featuring a Moto GP-style grid start, the shortest stage of the modern era from Bagneres-de-Luchon to the summit of the Col du Portet began with Thomas briefly on his own in front of the rest of the field.
After three brutal climbs in quick succession, separated by twisting technical descents, he had strengthened his hold on the yellow jersey with a commanding ride that showed his all-round ability and no sign of weakness.
With Thursday’s day on the flat expected to end in a sprint finish, Friday’s racing – which includes an ascent of the Col du Tourmalet – looks like being the last significant risk to Thomas’ bid for the yellow jersey.
It is followed by an individual time trial, where his current advantage should be enough to hold world time-trial champion Dumoulin at bay, and the ceremonial final stage on the Champs Elysees on Sunday.
After the stage, photos emerged showing Froome coming off his bike after a misunderstanding with a police officer as he rode to the Team Sky bus.
He avoided injury and is set to start stage 18 on Thursday.
Thomas cements himself as Team Sky leader
Thomas has previously cracked at high altitude – most recently in April’s Tour de Romandie – but he comfortably covered the attacks of LottoNL-Jumbo’s Primoz Roglic and Team Sunweb’s Dumoulin on the drag up the Col du Portet and the highest point of this year’s race at 2,215m.
As Froome fell off the pace and was nursed home by team-mate Egan Bernal, Thomas used the speed developed during a glittering track career to strike out and claim third place behind Movistar’s Quintana and UAE Team Emirates rider Dan Martin.
Thomas’ third-place finish came with a time bonus of four seconds that further extended his overall lead, which stood at 1:39 before the stage.
Two days ago, Thomas and Froome presented a united front to the media, saying they were merely concerned with ensuring a victory for the team.
However, barring the sort of extraordinary performance that saw him surge back into the lead on stage 19 of the Giro d’Italia in May, four-time Tour winner Froome seems set to spend the final days supporting Thomas.
Quintana claims overdue win
Quintana’s stage victory showed the sort of aggression and climbing ability that has been too rare to make him a threat into the third week.
The Colombian reeled in early breakaway leader Tanel Kangert, before shaking off Rafael Majka and resisting Martin up the final climb to claim his second Tour stage win, five years after his first.
Romain Bardet, the Frenchman who began the day in fifth, struggled in the final 5km of the 16km Col du Portet to slip to eighth overall, 5:13 behind Thomas.
Earlier, Quick-Step Julian Alaphilippe shored up his position at the top of the mountain classification as he crossed the Montee de Peyrangudes and Col de Val Louron-Azet second and first respectively, while nearest rival Warren Barguil missed the break.
By the end the destination of the yellow jersey also seemed to have come into similarly sharp focus.
Tomorrow’s 171km (106 mile) stage is mostly flat and is expected to be contested in a sprint finish, although many of the specialists have been eliminated after falling foul of the time limit.
Stage 17 result
1. Nairo Quintana (Col/Movistar Team) 2hrs 21mins 27secs
2. Dan Martin (Ire/UAE Team Emirates) +28secs
3. Geraint Thomas (GB/Team Sky) +47secs
4. Primoz Roglic (Slo/Team LottoNL-Jumbo) +52secs
5. Tom Dumoulin (Ned/Team Sunweb) – same time
6. Steven Kruijswijk (Ned/LottoNL-Jumbo) +1min 5secs
7. Egan Bernal (Col/Team Sky) +1min 33secs
8. Chris Froome (GB/Team Sky) +1min 35secs
9. Mikel Landa (Spa/Movistar) same time
10. Ilner Zakarin (Rus/Katusha-Alpecin) +2mins 1sec
General classification standings
1. Geraint Thomas (GB/Team Sky) 70hrs 34mins 11secs
2. Tom Dumoulin (Ned/Team Sunweb) +1min 59secs
3. Chris Froome (GB/Team Sky) 2mins 31secs
4. Primoz Roglic (Slo/Team LottoNL-Jumbo) +2mins 47secs
5. Nairo Quintana (Col/Movistar Team) +3mins 30secs
6. Steven Kruijswijk (Ned/LottoNL-Jumbo) +4mins 19secs
7. Mikel Landa (Spa/Movistar) +4mins 34secs
8. Romain Bardet (Fra/AG2R La Mondiale) +5mins 13secs
9. Dan Martin (Ire/UAE Team Emirates) +6mins 33secs
10. Jakob Fuglsang (Den/Astana) +9mins 31secs