Australian Jai Hindley took the overall lead of the Giro d'Italia on the penultimate day, but has less than a one-second advantage over stage 20 winner Tao Geoghegan Hart, setting the race up for a nail-biting finale on Sunday.
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.
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 teammate Kelderman.
Sunday's final stage is a 15.7-kilometre individual time trial from Cernusco sul Naviglio to Milan.