Britain's Tao Geoghegan Hart is in a strong position to win the Giro d'Italia after he sealed victory in stage 20 and move into a share of the overall lead with one day remaining.
In the closest finish in Giro history, the 25-year-old Ineos Grenadiers rider looks set for a straight shootout with Australian Jai Hindley for the Grand Tour win after beating him to the line in Sestriere.
Overnight leader, Sunweb's Wilco Kelderman, struggled on Saturday and is now third, more than a minute behind.
Sunday's final stage is a 15.7km individual time trial from Cernusco sul Naviglio to Milan.
Geoghegan Hart's second stage victory means he will start the time trial on the same time as Hindley as he bids to become only the second British man to win the race.
Hindley, 24, did just enough to take the race leader's maglia rosa jersey from his Sunweb team-mate Kelderman, who had started the day with a 12-second lead but fell away on the penultimate lap of a belatedly revised stage.
Geoghegan Hart repelled a series of breaks by Hindley before surging to the line to secure the 10-second winner's bonus in the Italian ski resort.
He outperformed Hindley by more than a minute in the previous time trial on stage 14 and is now in prime position to emulate Chris Froome's Giro win in 2018 and also become only the fifth Briton to win a Grand Tour.
"I'm very happy for myself, for my team and for the Giro - today was a beautiful day," Geoghegan Hart said.
"The time trial will be a matter of legs. The route is short, I hope to have a good day and a bit of luck, then we will see."
Stage 20 result
1. Tao Geoghegan Hart (GB/Ineos Grenadiers) 4hrs 52mins 45secs
2. Jai Hindley (Aus/Sunweb) Same time
3. Rohan Dennis (Aus/Ineos Grenadiers) +25secs
4. Joao Almeida (Por/Deceuninck-Quick-Step) +1mins 01secs
5. Andrea Vendrame (Ita/AG2R La Mondiale) +1min 34secs
6. Einer Rubio (Col/Movistar Team) +1min 35secs
7. Pello Bilbao (Spa/Bahrain-McLaren) Same time
8. Wilco Kelderman (Ned/Sunweb)
9. Attila Valter (Hun/CCC Team) +1min 48secs
10. James Knox (GB/Deceuninck-Quick-Step) +2mins
1. Jai Hindley (Aus/Sunweb) 85hrs 22mins 07secs
2. Tao Geoghegan Hart (GB/Ineos Grenadiers) Same time
3. Wilco Kelderman (Ned/Sunweb) +1min 32secs
4. Pello Bilbao (Spa/Bahrain-McLaren) +2mins 51secs
5. Joao Almeida (Por/Deceuninck-Quick-Step) +3mins 14secs
6. Jakob Fuglsang (Den/Astana) +6mins 32secs
7. Vincenzo Nibali (Ita/Trek-Segafredo) +7mins 46secs
8. Patrick Konrad (Aut/Bora-Hansgrohe) +8mins 05secs
9. Fausto Masnada (Ita/Deceuninck-Quick-Step) +9mins 24secs
10. Hermann Pernsteiner (Aut/Bahrain-McLaren) +10mins 08secs