Chris Froome kept control of his rivals in a gruelling Alpine ride to move a step closer to a fourth Tour de France title, retaining the leader's yellow jersey after the 17th stage, won by Slovenia's Primoz Roglic.
The defending champion was attacked by last year's runner-up Romain Bardet and Ireland's Dan Martin in the lung-busting ascent to the Col du Galibier but he stayed calm and covered every offensive move.
Bardet and Martin's accelerations, however, were damaging for Fabio Aru as the Italian lost 31 seconds and slipped from second to fourth place overall.
Froome leads Colombian Rigoberto Uran and Bardet by 27 seconds each, while Aru is now 53 seconds off the pace.
Cycling enthusiasts had anticipated an Alberto Contador victory as the two-time champion, too far down in the general classification to threaten Froome, threw caution to the wind with a long-range attack.
But the Spaniard cracked on the Galibier, a 17.7-km ascent at an average 6.9 per cent gradient culminating at 2,642m above sea level, when Roglic attacked from the day's breakaway group.
Martin and Bardet launched countless attacks of their own on the climb, but Froome stayed in control. The Irishman, whose uncle Stephen Roche won the Tour in 1987, paid the price later on, but Frenchman Bardet hung on to finish fourth behind Uran and Froome.
Uran and Froome snatched small time bonuses but Bardet missed out, meaning the Colombian from the Cannondale-Drapac team leads the Frenchman by a few hundredths of a second.
Roglic held the group of main contenders off to become the first Slovenian to win a Tour stage, crossing the line 1:13 ahead of Froome, Bardet, Uran and Frenchman Warren Barguil, who consolidated his grip on the polka dot jersey for the mountains classification.
German Marcel Kittel, holder of the green jersey for the points classification, abandoned the race after a crash. New leader Australian Michael Matthews looks likely to wear the jersey all the way to Paris thanks to his big lead over second-placed Andre Greipel.
Thursday's stage, a 179.5-km ride from Briancon to the 2,360m Col d'Izoard, is likely to be the last-chance saloon for Bardet and Uran to unseat Froome ahead of Saturday's final time trial, which is expected to favour the Briton.