Chris Froome launched a devastating attack to win stage 19 of the Giro d’Italia and take the leader’s pink jersey from fellow Briton Simon Yates.
Yates finished almost 39 minutes behind Team Sky’s Froome, who attacked 80km from the finish in Bardonecchia.
Froome, 33, was fourth prior to Friday’s 184km run from Venaria Reale.
But, with two days remaining, he now has a 40-second lead over Tom Dumoulin as he attempts to become the first British man to win the Giro d’Italia.
The four-time Tour de France champion is also attempting to become only the seventh man to win all three Grand Tours, and just the third to win three in succession.
“I don’t think I’ve ever attacked like that before on my own,” he said.
“The team did such a fantastic job to set it up for me.
“It was going to take something really special to get rid of Simon and get away from Dumoulin. It was now or never. I just had to try.”
Froome is involved in an ongoing anti-doping case after being found to have double the allowed level of a legal asthma drug in his urine after a test at last year’s Vuelta a Espana.
Had it slipped to the back of his mind, he was reminded during Friday’s stage as a spectator ran alongside him holding a giant inhaler.
Mitchelton-Scott’s Yates had his lead halved on Thursday, losing 28 seconds to Team Sunweb’s Dumoulin.
It was the first time he had struggled since first taking the race lead in stage six.
The Giro finishes on Sunday with a flat 115km route into Rome.
How Friday’s stage panned out
Froome’s Team Sky team-mates set a ferocious pace on the first climb up Colle delle Finestre, all but sealing Yates’ fate.
A breakaway with 120km to go saw a 15-man group open a one-minute lead, and Yates’ team had no-one in the leading group.
Though the breakaway was soon reeled in, it was an early sign of how this stage would play out for the Briton.
Dumoulin – the 2017 winner – led the chase behind Froome, and was the virtual race leader with 70km remaining.
But Froome showed no sign of slowing and held a two-minute lead over Dumoulin’s chasing group on the ascent of the Sestriere.
That extended further as Froome crested the climb, taking the King of the Mountains jersey from Yates in the process.
The pink jersey soon followed as he moved into the virtual lead with a gap of two minutes and 58 seconds at 32km remaining.
He eventually crossed the line three minutes ahead of Movistar’s Richard Carapaz, with Dumoulin fifth.
Did Yates see this coming?
Prior to the start of the race, Yates wrote a stage-by-stage guide for BBC Sport, detailing how he expected each day to pan out.
He predicted day 19 would be the hardest, adding “if you have good legs” it could make the “difference”. How right he was.
“This is the hardest day of the race – the Queen stage – and I expect it to be won by a general classification rider, although you could see big gaps between them,” Yates said.
“There’s a lot of GC players starting the Giro who need to be aggressive and if you have good legs you can really make a difference on a day like today.
“The break might go to collect King of the Mountain points but I predict it will most likely come back together on the final ascent.”
And who did he predict would win the stage? Chris Froome.
A big day ahead
Should Froome retain the leader’s jersey after Saturday’s stage, he will have all but sealed the Giro title as Sunday’s stage is traditionally a procession.
Saturday’s 214km ride from Susa to Cervinia features three big climbs towards the climax.
Victory would mark an astounding comeback from Froome following an injury-hit first two weeks of the Tour.
“It will be a really hard day, but the legs are feeling good and I’ve been feeling better and better as the race has gone on,” Froome said.
“Hopefully we can finish this off.”
Froome won his first ever Giro stage on day 14, holding off Yates in a thrilling finish on Monte Zoncolan – known as the hardest climb in European cycling.
Last year he became the first British winner of the Vuelta a Espana, and only the third man to complete the Tour de France-Vuelta double in the same year.
And victory in Italy would mean he emulates Eddy Merckx and Bernard Hinault, the only riders to have won three Grand Tours in succession.
Stage 19 result:
1 Chris Froome (GB/Team Sky) 5hrs 12mins 26secs
2 Richard Carapaz (Ecu/Movistar) +3mins
3 Thibaut Pinot (Fra/Groupama-FDJ) +3mins 7secs
4 Miguel Angel Lopez (Col/Astana Pro Team) +3mins 12secs
5 Tom Dumoulin (Ned/Team Sunweb) +3mins 23secs
6 Sebastien Reichenbach (Swi/Groupama-FDJ) +6mins 13secs
7 Davide Formolo (Ita/Bora-Hansgrohe) +8mins 22secs
8 Sam Oomen (Ned/Team Sunweb) +8mins 23secs
9 Patrick Konrad (Aut/Bora-Hansgrohe) same time
10 Pello Bilbao (Spa/Astana Pro Team)
79 Simon Yates (GB/Mitchelton-Scott) +38mins 51secs
1 Chris Froome (GB/Team Sky) 80hrs 21mins 59secs
2 Tom Dumoulin (Ned/Team Sunweb) +40secs
3 Thibaut Pinot (Fra/Groupama-FDJ) +4mins 17secs
4 Miguel Angel Lopez (Col/Astana Pro Team) +4mins 57secs
5 Richard Carapaz (Ecu/Movistar Team) +5mins 44secs
6 Domenico Pozzovivo (Ita/Bahrain-Merida) +8mins 3secs
7 Pello Bilbao (Spa/Astana Pro Team) +11mins 8secs
8 Patrick Konrad (Aut/Bora-Hansgrohe) +12mins 19secs
9 George Bennett (Nzl/Team Lotto NL-Jumbo) +12mins 35secs
10 Sam Oomen (Ned/Team Sunweb) +14mins 18secs
18 Simon Yates (GB/Mitchelton-Scott) +35mins 42secs