Bardet gave the French plenty to cheer about when he propelled away from the favourites on the foot of the Mont Blanc climb.
Assisted by team mate Mikael Cherel who gapped the main bunch on the descent into Domancy and waited for his leader, Bardet then bridged to Rui Costa (Lampre-Merida) alone with just 7.5kms to race.
The Frenchman unhooked from Costa with 3.5kms to the summit to finish 23 seconds ahead of Joaquim Rodriguez (Katusha) and Alejandro Valverde (Movistar). His emphatic win saw the AG2R rider charge from fifth to second overall.
“I'm over the moon. Climbing to the finishing line was pure emotions," the Frenchman said.
"This attack was absolutely not planned. It was a flash in Mikael Cherel's mind. He said, "Let's go flat out in the downhill.
"I'm glad to be second now. It's better to be sixteen seconds ahead of Nairo Quintana than sixteen seconds behind. Everything can happen in Joux-Plane tomorrow. I'll try to save a place on the podium in Paris. That would be fabulous.”
Froome crashed on the final descent after slipping on the paint of the road's middle line. Always surrounded by his disciplined personnel, the Sky leader was able to quickly swap bikes with Geraint Thomas and chase back on. In a show of formidable strength on the closing sections of the final climb, Froome and his men were able to fend off the upping of pace from the likes of Richie Porte (BMC) who ultimately lost more time to the Brit.
“Today I ironically raced at the front to avoid problems," said Froome. "Luckily, there wasn't much damage but in such a stage, I'm lucky to have extraordinary team-mates. They accompanied me till the end especially (Wout) Poels. It demonstrates that the Tour isn't over until we cross the line in Paris. Tomorrow will be hard but it's the last effort.”
Porte's energy was somewhat depleted after a tense chase back to the peloton earlier with 31km to go. The Tasmanian was delayed by a crash higher up on the final descent and navigated his way alone through the convoy of support cars to finally find three team mates a couple of kilometres later. Porte's group hooked back on with 23km to race.
In second place overnight, Bauke Mollema (Trek-Segafredo) skulked home four minutes and 26 seconds behind Bardet after he was involved in two crashes on the descent and dropped to 10th overall.
Adam Yates slipped to fourth overall after cracking on the final climb with three kilometres to go. But he is only 19 seconds adrift of Nairo Quintana (Movistar) who now sits in third after managing to stay with the main bunch until the finish. Yates retains the white jersey for the best young rider.
After the GC shake up and despite a crash, Froome amazingly gained another 19 seconds in the overall classification after Yates and Mollema dropped out of the top three.
[tdf widget="tourleaders" stage="19"]
As it happened
Once the flag dropped Thomas de Gendt (Lotto Soudal) attacked immediately bringing several riders along for the ride including team mate Tony Gallopin, Greg Bennett (LottoNL Jumbo), Marcus Burghardt (BMC), Rafal Majka (Tinkoff) Jarlinson Pantano (IAM) and Natnael Berhane (Dimension Data). Another group pursued containing the likes of Michael Matthews (Orica-BikeExchange), Tony Martin (Etixx-Quickstep) and Costa.
The two groups consolidated into a group of 20 by the third kilometre and the first hairpin bend on the uncategorised Collet de Tamie. It led until the slopes of the hors categorie Montee de Bisanne at around 60 kilometres to go, ripped apart by the gradients. After Majka collected the KOM points, Costa attacked on the descent and remained alone until he was joined by Bardet.
Earlier, Majka allowed De Gendt to take the KOM points on the preceding two climbs up the Forclaz, but conceded minimal points in the polka dot jersey competition. After his efforts, the Tinkoff rider will wear the polka dot jersey on the podium in Paris, barring abandonment or missing the time cut.