Mark Cavendish's hopes of winning the red points jersey at the Giro d'Italia were all but ended on Saturday's 20th stage by race leader Joaquin Rodriguez.
Spain's Rodriguez finished fourth on the mountainous stage to leapfrog Cavendish by one point with Sunday's final 30km time trial in Milan to come.
Belgium's Thomas de Gendt broke away on the final climb up the snowy Passo dello Stelvio to win the stage.
Rodriguez leads Canada's Ryder Hesjedal by 31 seconds in the overall standings.
However, his lead could be overhauled by Hesjedal, who is the better time triallist, on Sunday's final stage.
Team Sky's Cavendish would also need to beat Rodriguez, or finish ahead of the Spaniard inside the top 15, to win the red jersey.
The British sprint specialist has already won the equivalent jerseys in the other Grand Tour races - the Tour de France and Vuelta a Espana.
Only four riders have won the points jersey in all three Grand Tours, Djamolidine Abdoujaparov of Uzbekistan and France's Laurent Jalabert in the 1990s, Italy's Alessandro Petacchi in the last decade and Eddy Merckx of Belgium in the 1960s and 70s.
Rodriguez's effort on the final climb to finish fourth was an interesting sub-plot (had he come home in fifth, Cavendish would still be in red) on a day when De Gendt showed impressive climbing skills.
He displayed tremendous strength and stamina on the 219km stage which finished at an altitude of 2,757m, the highest of any of the three Grand Tours.
De Gendt crossed the line 56 seconds ahead of Italian Damiano Cunego to move into fourth in the overall standings, two minutes, 18 seconds behind Rodriguez.
1. Joaquin Rodriguez (Esp/Katusha)
2. Ryder Hesjedal (Can/Garmin-Barracuda) at 31 secs
3. Michele Scarponi (Ita/Lampre) at 1 min 51 secs
4. Thomas de Gendt (Bel/Vacansoleil) at 2 mins 18 secs
5. Ivan Basso (Ita/Liquigas) at 3 min 18 secs