While Movistar’s Nairo Quintana won atop the Col du Portet to move back into the top five, Froome lost contact with the main group of contenders around two kilometres before the summit.
As he went backwards, Thomas stuck on the wheels of Tom Dumoulin and Primoz Roglic – who started the day third and fourth overall – before racing clear in the final few hundred metres to take third place on the day behind Irishman Dan Martin.
The Welshman picked up four seconds on the road and four bonus seconds for third. He now leads by one minute and 59 seconds from Team Sunweb’s Dumoulin, with Froome two minutes and 31 seconds back in third.
Froome finished 48 seconds behind Thomas on the day and, as he warmed down on rollers, he sounded ready to put aside his pursuit of a record-equalling fifth Tour crown in order to support his team-mate.
“It was a tough day, an intense day, but I’ve got no regrets,” Froome said. “(Thomas) has ridden such an amazing race, he deserves to be in yellow and fingers crossed he holds it now until Paris.”
Asked about riding in service of Thomas as the defending champion, he added: “That’s professional cycling, that’s what a team is all about.
“I’m happy just to be in the position I’m in. I’ve won the last three Grand Tours I’ve done now. It’s certainly been a tough build-up for me but I’ll still fight for the podium and obviously we want to see (Thomas) up there in yellow.
“I just didn’t have the legs. I think he’s got an almost two-minute lead on Dumoulin which is a pretty comfortable buffer. He looks pretty strong and I imagine he’ll be able to finish it off. We just need to look after him now for these next few days.”
While Froome was dropped in the finale, at one stage it looked like going the other way as he covered a move by LottoNL-Jumbo’s Roglic while Thomas hung back on the wheel of Dumoulin, leaving the Dutchman to close the gap.
Quintana, who started the day more than four minutes back in the General Classification, hauled himself back into the top five with the second Tour stage win of his career.
The Movistar rider attacked close to the foot of the 16km climb as he followed a move launched by UAE Team Emirates rider Martin, though he quickly shook him off and was left to pursue him alone.
Quintana’s victory came despite two early mechanicals on a 65km stage – the shortest road stage in the Tour for over 30 years – that was designed to be explosive from the start.
A Formula One-style grid start turned into something of a damp squib but the final climb appears to have provided one of the decisive moments of the Tour.
Froome was not alone in cracking at the end as AG2R La Mondiale’s Romain Bardet and Quintana’s team-mate Mikel Landa also fell away.
Another casualty on the day was world champion Peter Sagan, who crashed on the dangerous descent off the Col de Val Louron-Azet.
Though he rode to the finish, the Bora-Hansgrohe rider was expected to go for scans, putting at risk a sixth green jersey which is mathematically his as long as he makes it to Paris.
The 32-year-old Welshman, who is chasing his first Grand Tour victory, leads team-mate Froome by two minutes and 31 seconds with four stages left.
Thomas’ closest General Classification rival is now Dutchman Tom Dumoulin, who is one minute and 59 seconds behind.
Nairo Quintana held off UAE Team Emirates’ Dan Martin to win the 65km (40-mile) stage.
Featuring a Moto GP-style grid start, the shortest stage of the modern era began with Thomas 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.
Only four stages separate him from the podium in Paris.
With Thursday’s day on the flat expected to be a sprint contest, 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 and the ceremonial final stage on the Champs Elysees on Sunday.
World cycling chief David Lappartient has responded to Team Sky boss Dave Brailsford’s claims that the abuse of his team and riders is a “French cultural thing”.
Speaking prior to the start of the Tour de France’s 16th stage, the French president of the International cycling Union (UCI), told AFP: “He’s not doing his riders any favours.
In what has been an evenful and controversy-ridden cycling race, Froome has been spat at and manhandled, while Thomas has been booed off the podium and some of Sky’s staff have also had to face abuse during the opening 15 stages.
Froome, in particular has had to deal with far more abuse than his Welsh teammate. While aiming for his fifth Tour de France title, he was the subject of an investigation because a sample from his 2017 Tour of Spain victory revealed twice the permitted amount of salbutamol.
Froome, however, was allowed to race after the UCI dropped their case against him.
Brailsford lashed out at the treatment of his team, in France in particular, on Monday while clarifying that there was no ill-treatment by fans at the Giro d’Italia, which Froome won last May.
“Chris’s case was open when we raced in Italy. And they were fantastic, the Italians (fans),” said Brailsford.
“It seems to be the thing that’s done here. It just seems to be a French thing. A French cultural thing really.”
Lappartient added: “I can understand he (Brailsford) is annoyed the public are not passionate about his team and that they’ve been whistled.
“But that’s no reason to hit out at the French public. Hasn’t Mister Brailsford noticed it’s not just French people on the side of the road?
“He should not be making this about nationality. It’s pointless, and he mustn’t forget everything that France and the Tour de France have given him.”