Frenchman Romain Bardet timed his final effort perfectly to win the 12th stage of the Tour de France on Thursday, setting up a thrilling second half of the three-week race as defending champion Chris Froome showed a rare sign of weakness.
Italian Fabio Aru claimed the overall leader's yellow jersey as previous leader Froome could not sustain the pace in the final few hundred metres up a steep climb to the finish line.
Astana rider Aru attacked in the final part of the climb to Peyragudes, a 2.4-km ascent at a punishing average gradient of 8.4 percent. But Bardet had more left in the tank and powered away in the last 200 metres to beat Colombian Rigoberto Uran by two seconds.
Aru, who won the Vuelta in 2015, came third, also two seconds behind Bardet while Froome cracked and ended up 22 seconds adrift of the Frenchman.
Overall, Aru leads Froome by six seconds and Bardet by 25.
"It's a great joy. I had good legs but I was patient," said AG2R-La Mondiale rider Bardet. "The team has never been so strong; we are a real factor in the race. Now we have to do our best in the final part."
"I dedicate this jersey to my teammates, who have been doing everything to help me," said Aru, whose lieutenant Jakob Fuglsangm, fifth overall in the morning, slipped down the rankings after starting the 214.5-km stage from Pau with a fractured wrist following a crash on Wednesday.
Uran lies fourth overall, 55 seconds off the pace after being handed a 20-second penalty for taking a bottle from one of his Cannondale-Drapac employees within the final 10 km.
Froome and Aru went off the road briefly in the descent from the Port de Bales, the penultimate climb of the day, but the group of overall contenders waited on them.
They caught the last survivor of the day's breakaway, Briton Stephen Cummings, 8.5 km from the finish, in the final slopes of the Col de Peyresourde.
Nairo Quintana had already been dropped, as the Colombian struggles to recover from an energy-sapping Giro d'Italia.
He and two-time champion Contador, who was dropped in the finale, saw their hopes of winning the race all but vanish.
For the second time after Aru prevailed at the top of La Planche des Belles Filles last week, Froome was beaten in a summit finish.
"I didn't have the legs. It's a nice victory for Romain Bardet, and hats off to Fabio Aru for taking the yellow jersey," said Froome, whose team had contained the opposition until the final effort. "I did my best but I didn't have the legs to follow."
Friday's 13th stage is a relatively short 101-km trek through the Pyrenees that should see the overall favourites attack.
"Let's be wary of Team Sky. They don't like to lose and they will be out for revenge," said Bardet, who is looking to become the first Frenchman to win the Tour since Bernard Hinault in 1985.
"He took off today but he will need to come down to earth quickly," his AG2R-La Mondiale sports director, Stephane Goubert, said.