Vincenzo Nibali all but secured the 2013 Giro d'Italia title after battling blizzard conditions to win stage 20 and retain the race leader's pink jersey.
The Italian heads into Sunday's final stage with a lead of four minutes, 43 seconds over Team Sky's Rigoberto Uran.
Britain's Mark Cavendish is favourite to win the red points jersey, despite Nibali leading that race by 11 points.
Sunday's expected sprint into Brescia is likely to suit Cavendish with the stage winner collecting 25 points.
There are also 16 intermediate sprint points available so Cavendish will have plenty of opportunities to wrestle the jersey back.
"That was an epic stage that will go down as legendary - not just for the way Nibali rode away from the field to win the race but for the weather in general.
"The riders were in short sleeves when we first saw them on the television and the weather looked great down in the valley.
"But the snow really hit the top of the mountain 30 minutes before they all arrived and they all looked miserable as they reached the finish.
"Nibali didn't need to go for the win but it was an impressive ride and you got the feeling he was making a point to the Italian press who have been critical of him.
"Cavendish looked alright when he crossed the line and his soigneur just grabbed him and pushed him off to the team car.
"I would imagine his team will want him to go for the intermediate sprint points on Sunday in case any mechanical problems affect him later in the stage.
"I don't think anyone else will be racing for the points so it will be a case of get the red jersey in the bag and then go and win the stage."
If Cavendish fails to win any points in the intermediate sprints, he will still win the red jersey if he records a top-five finish, with Nibali unlikely to get involved in any sprints because of their potential danger for crashes.
Cadel Evans, who is eight points behind Cavendish in that race and third in the overall standings, is also unlikely to contest the sprint points.
Cavendish picked up two points from the first intermediate sprint on Saturday's penultimate stage to lift his tally in the competition to 115.
However, after battling hard on the predominantly uphill stage to take two more points at the final sprint with around 22km the 210km stage remaining, he, as expected, quickly slipped backwards as the road began to rise sharply.
Conditions at the summit finish of Tre Cime di Lavaredo varied throughout the stage with early snow giving way to bright blue skies, which in turn were overtaken by snow-filled clouds and mist.
The well-gritted road remained clear, despite snowdrifts reaching 20 feet high near the summit, which at 2,304m was the highest point of this year's Giro and as the riders reached the final climb, blizzard conditions set in at the finish.
Movistar rider Eros Capecchi was the first to make a concerted effort to win the stage, as a quartet of riders who had made an early break were dragged back by the peloton.
Nibali, who had been criticised in the Italian media for failing to win a stage before his victory in Thursday's time trial, despite leading the race, then went on the attack.
"I wanted to leave a mark," he said. "After what happened yesterday [with stage 19 being cancelled] I wanted to show something.
"I wanted to show that I was fighting right up to the end."
He quickly distanced himself from his main rivals, Australia's Evans and Uran, before riding past Italian compatriot Capecchi who cracked as the 18% gradients, sub-zero temperatures and driving snow took their toll.
Nibali ploughed on, encouraged by dozens of enthusiastic Italian fans, who he had to wave away for fear of being knocked off his bike, before riding over the finish line for victory.
Uran, who started the day in third place overall, 10 seconds behind Evans, finished third on the stage and more than one minute ahead of Evans, who it was later revealed suffered a mechanical problem on the final climb, to move up to second.
Fabio Duarte took second on the stage, 17 seconds adrift of Nibali and two clear of his fellow Colombian Uran.
Sunday's final stage is a flat 197km (122-mile) race starting in Riese Pio X and finishing in Brescia.
Stage 20 result:
1. Vincenzo Nibali (Ita/Astana) 5:27:41"
2. Fabio Duarte (Col/Colombia) +17"
3. Rigoberto Uran (Col/Team Sky) +19"
4. Carlos Betancur (Col/AG2R) +21"
5. Fabio Aru (Ita/Astana) +44"
General classification standings:
1. Vincenzo Nibali (Ita/Astana) 79:23:19"
2. Rigoberto Uran (Col/Team Sky) +4:43"
3. Cadel Evans (Aus/BMC Racing) +5:52"
4. Michele Scarponi (Ita/Lampre) +6:48"
5. Carlos Betancur (Col/AG2R) +7:28"
Red jersey points standings:
1. Vincenzo Nibali (Ita/Astana) 128
2. Mark Cavendish (GB/Omega Pharma - Quick-Step) 117
3. Cadel Evans (Aus/BMC Racing) 111
4. Carlos Betancur (Col/AG2R) 108
5. Rigoberto Uran (Col/Team Sky) 102