The Briton battled through a dramatic Stage 19 and held his overall lead after a crash with 10km to go could have cost him the race.
The man in yellow slipped off on a treacherous wet descent ahead of the final climb. He took Geraint Thomas' bike to battle back to the GC group and fight for position on the final kilometres of the stage.
Froome came home an impressive ninth, just a few seconds down on some of his key rivals but ahead of second and third overall.
Romain Bardet (AG2R-La Mondiale) won the stage after a decisive attack in the closing kilometres, with Joaquim Rodriguez (Katusha) and Alejandro Valverde (Movistar) crossing the line in second and third respectively, 23 seconds down.
Froome came in 36 seconds back on Bardet, flanked by team-mate Wout Poels, who produced a stunning effort on the first category Le Bettex to nurse his team leader home.
Despite finishing ninth, Froome actually extended his yellow jersey advantage to four minutes and 11 seconds, after Bauke Mollema (Trek-Segafredo) and Adam Yates (Orica-BikeExchange) both lost time and dropped out of the top three.
related reading
Porte rises to fifth with one day of climbing to go
A relieved Froome talked through the crash after the stage, and praised the fantastic work of his team-mates who got him to the line.
"There's never a quiet day at the Tour,” said Froome. “It's ironic really. I was just trying to stay up front, safe and out of trouble. I think I just hit one of the white lines on the road and lost my front wheel.
"I'm okay. I'm lucky nothing is seriously injured, I just lost a bit of skin obviously and banged my knee a bit. "This is the kind of day that I feel grateful I've got that four-minute advantage. I can fall back on that a little bit and obviously it was great for me to have team-mates all the way up to the finish. Wout (Poels) in particular, and all the guys. It was a great team effort today and it feels good to be one day closer to Paris."
Froome was straight back on his feet after crashing and Thomas was quick to handover his bike, with the team on hand to pace the yellow jersey back to the drastically reduced peloton.
"I finished on Geraint Thomas' bike,” said Froome. “I knew the car was quite far back and mine wasn't rideable after the crash. Thanks a lot to Geraint for his bike. I rode that to the finish and it was all right.
"Tomorrow is going to be really hard. I'm sure I'm going to be a bit sore and stiff after today. But hopefully I can rely on my team-mates for one last push to get through the stage."
Amongst the drama Bardet picked the perfect moment to attack as the peloton tiptoed towards Le Bettex and he quickly bridged to lone leader Rui Costa (Lampre-Merida), before leaving the former world champion behind.
The Frenchman stayed away to take a fine victory, while continual attacks fired behind, with Dan Martin (Etixx-QuickStep), Richie Porte (BMC), Fabio Aru (Astana) and Quintana all launching from the bunch.
None of them could forge a damaging gap though. Froome gave a touching pat on the back to Poels as he crossed the line one day closer to Paris, grateful to hold onto the lead after such a dramatic stage.