Britain’s Geraint Thomas will defend a 26-second lead on Saturday’s individual time trial after Santiago Buitrago won stage 19 of the Giro d’Italia.
Colombia’s Buitrago took victory from Canada’s Derek Gee, who was second for the fourth time in this year’s race.
Behind them the general classification race sparked into life in the final 2km of the mountainous 183km route from Longarone to Tre Cime di Lavaredo.
And Primoz Roglic cut Thomas’ overall advantage in the final few metres.
Slovenia’s Roglic took three seconds from the Welshman close to the finish to cross the line alongside third-placed Magnus Cort, having looked as though he was going to lose time himself to the 2018 Tour de France champion.
Ineos Grenadiers’ Thomas responded superbly to an attack from the Jumbo Visma rider on the imposing 18% slopes of the Tre Cime di Lavaredo – the highest point of this year’s Giro, some 2304m above sea level.
“When I went with 400 metres to go I realised after 100m that 400m is a long way at this altitude,” said Thomas.
“I just tried to pace it and then Roglic came past in the last 100 metres or so. I lost a couple of seconds on the line but it was nice to gain some time on Joao.
“It will be super close tomorrow. I think it’s going to be exciting to watch, horrible to do.”
Roglic’s decision to change bikes with around 20km remaining, to one with low gears for the mountain-top finale, appeared to pay dividends.
He and Thomas, who celebrated his 37th birthday on Thursday, were able to distance Portugal’s Joao Almeida, who lost 20 seconds and is now 59 seconds adrift in the race for the Maglia Rosa.
It leaves the GC race finely balanced going into Saturday’s decisive mountain time trial – an 18.6km run between Tarvisio and the top of Monte Lussari – which packs most of its 1,050 metres of climbing and a ramp up of almost 19% in the second half of the route.
The Giro concludes on Sunday with a processional 135km stage around Rome.
Stage 19 results
1. Santiago Buitrago (Col/Bahrain Victorious) 5hrs 28mins 07secs
2. Derek Gee (Can/Israel-Premier Tech) +51secs
3. Magnus Cort (Den/EF Education-EasyPost) +1mins 46secs
4. Primoz Roglic (Slo/Jumbo-Visma) Same time
5. Geraint Thomas (GB/Ineos Grenadiers) +1mins 49secs
6. Joao Almeida (Por/UAE Team Emirates) +2mins 09secs
7. Damiano Caruso (Ita/Bahrain Victorious) Same time
8. Thymen Arensman (Ned/Ineos Grenadiers) Same time
9. Thibaut Pinot (Fra/Groupama-FDJ) +2mins 16secs
10. Einer Rubio (Col/Movistar) +2mins 26secs
General classification after stage 19
1. Geraint Thomas (GB/Ineos Grenadiers) 81hrs 55mins 47sec
2. Primoz Roglic (Slo/Jumbo-Visma) +26secs
3. Joao Almeida (Por/UAE Team Emirates) +59secs
4. Damiano Caruso (Ita/Bahrain Victorious) +4mins 11secs
5. Eddie Dunbar (Ire/Team Jayco AIula) +4mins 53secs
6. Thibaut Pinot (Fra/Groupama-FDJ) +5mins 10secs
7. Thymen Arensman (Ned/Ineos Grenadiers) +5mins 13secs
8. Lennard Kamna (Ger/Bora-Hansgrohe) +5mins 54secs
9. Andreas Leknessund (Nor/DSM) +6mins 08secs
10. Laurens De Plus (Bel/Ineos Grenadiers) +7mins 30secs