Froome, who hammered the opposition in the first big mountain stages in 2013, 2015 and 2016, could not match the pace of the top guns in the finale in Peyragudes, surrendering the yellow jersey to Italian Fabio Aru.
Frenchman Romain Bardet, runner-up last year, won the stage to stay third overall, 25 seconds behind Aru, while Froome slipped to second, six seconds off the pace.
"It was a very, very hard finish. I didn't have the legs in the finale, but there is still a long way to go," Froome told reporters.
"I had a bad moment here at the end. No excuses. I just didn't have the legs in the final. It's close. It's going to be a great fight now all the way to Paris."
The battle will resume on Friday when the 13th stage takes the peloton over 101km from Saint-Girons to Foix, with three category-one climbs on the menu.
"It's not the end of the world," said Team Sky sports director Nicolas Portal, who saw some positives in Froome losing the yellow jersey.
"Tomorrow it will be up to Astana to control the stage," he said.
Bardet, who claimed his third Tour stage win on Thursday, is expecting fireworks.
"It will be a crazy race. I know the terrain very well, I'm expecting a big battle," the AG2R-La Mondiale rider said.
"Sky's pride is wounded, and I'm sure they will try to seize this last opportunity to regain control before the Alps. There may be big time gaps at the end of tomorrow's stage."
After Friday, breakaway specialists and sprinters take centre stage again until the Tour reaches the Alps, where two punishing days of riding could decide the race.
Froome, however, will still have the final time trial to make up for any deficit, as he is expected to gain at least a minute over Bardet and Aru there.