Michal Kwiatkowski led a superb Ineos Grenadiers one-two on stage 18 to help salvage their Tour de France as Primoz Roglic took a step closer to the title.
Poland's Kwiatkowski and team-mate Richard Carapaz crossed the line arm-in-arm after riding away from the rest of the field on a tough mountain stage.
Roglic and his Jumbo-Visma team held off any attacks as he maintained his 57-second lead with three stages to go.
Britain's Adam Yates slipped from fifth to seventh overall.
Former world champion Kwiatkowki's first ever individual Grand Tour stage victory capped a strong showing by Ineos since defending champion Egan Bernal dropped out of contention, before abandoning after stage 16.
The British team have been active in the breakaways, with Carapaz coming close on both stage 16 and 17, before Kwiatkowski secured their first win of the 2020 Tour.
"That was some day - I can't describe how grateful I am to the whole team and Richard. I will never forget that," said Kwiatkowski.
"I've had some nice moments in cycling but that was something new. I had goosebumps for the final kilometres because I knew we were going to make it. It was incredible."
Ineos salvage their Tour
Despite a very successful career that includes victories in Milan-San Remo, the Amstel Gold Race and Strade Bianche twice, a Grand Tour stage win had eluded Kwiatkowski, with the 30-year-old having been a crucial support rider to Chris Froome, Geraint Thomas and Bernal since joining Team Sky in 2016.
He and Carapaz had a lead of four minutes heading into the final 10km, leaving them plenty of time to celebrate and decide who would take the win in La Roche-sur-Foron, with Carapaz just squeezing his brake at the last moment to ensure Kwiatkowski got it.
Carapaz had gone clear with Marc Hirschi over the first climb of the day as they battled for mountains classification points before Kwiatkowski, Pello Bilbao and Nicolas Edet joined them on the second climb.
Edet slipped back and Hirschi crashed, before remounting, descending the Col des Saisies, before the Ineos duo dropped Bilbao on the final climb.
Last year's Giro d'Italia champion Carapaz also took the polka dot jersey as leader of the mountains classification from Tadej Pogacar, who remains second overall on general classification.
The Ecuadorian leads Pogacar by eight points in that competition, with 12 points maximum left on offer.
Roglic nearly there
As the final mountain stage, this was the last realistic opportunity for any of Roglic's rivals to take back considerable time on the Slovenian, but he came through unscathed.
Friday's stage 19 should see the GC contenders finish together and Sunday's final stage is a procession into Paris where tradition dictates the race leader is not attacked.
Saturday's individual mountain time trial culminates in a climb up La Planche des Belles Filles but, as an impressive time trialist and climber, Roglic will be confident he already has enough of a lead.
Again Roglic was well supported, with Pogacar unable to launch an attack on the final climb up the punishing Plateau des Glieres before the compatriots sprinted to fourth and fifth respectively after Roglic's team-mate Wout van Aert had neutralised the four bonus seconds for third.
Mikel Landa briefly went clear as his Bahrain McLaren team again set a high pace but with more success than on stage 17 as they dropped Rigoberto Uran and Yates, who finished over two minutes down, allowing Landa to move up to fifth overall.
Richie Porte suffered a puncture on a gravel section after the top of the Glieres but managed to chase back on to keep hold of fourth overall.
Stage 18 result
1. Michal Kwiatkowski (Pol/Ineos Grenadiers) 4hrs 47mins 33secs
2. Richard Carapaz (Ecu/Ineos Grenadiers) Same time
3. Wout van Aert (Bel/Jumbo-Visma) +1min 51secs
4. Primoz Roglic (Slo/Jumbo-Visma) +1min 53secs
5. Tadej Pogacar (Slo/UAE Team Emirates) Same time
6. Richie Porte (Aus/Trek-Segafredo) +1min 54secs
7. Enric Mas (Spa/Movistar) Same time
8. Mikel Landa (Spa/Bahrain McLaren)
9. Damiano Caruso (Ita/Bahrain McLaren)
10. Tom Dumoulin (Ned/Jumbo-Visma)
General classification after stage 18
1. Primoz Roglic (Slo/Jumbo-Visma) 79hrs 45mins 30secs
2. Tadej Pogacar (Slo/UAE Team Emirates) +57secs
3. Miguel Angel Lopez (Col/Astana) +1mins 27secs
4. Richie Porte (Aus/Trek-Segafredo) +3mins 06secs
5. Mikel Landa (Spa/Bahrain McLaren) +3mins 28secs
6. Enric Mas (Spa/Movistar) +4mins 19secs
7. Adam Yates (GB/Mitchelton-Scott) +5mins 55secs
8. Rigoberto Uran (Col/EF Pro Cycling) +6mins 05secs
9. Tom Dumoulin (Ned/Jumbo-Visma) +7mins 24secs
10. Alejandro Valverde (Spa/Movistar) +12mins 12secs
- Extinction: The Facts: Sir David Attenborough on biodiversity crisis
- Battlestar Galactica: Binge all episodes of sci-fi classic