Italy's Giovanni Visconti won his first ever Giro d'Italia stage as compatriot Vincenzo Nibali remained in the race leader's pink jersey after a tough 145km day in the mountains.
Stage 15 was trimmed by 4.25km because of an avalanche risk on Col du Galibier, as the race entered France.
As snow fell, the day instead finished at the memorial to dual Tour de France and Giro winner Marco Pantani.
Visconti took the stage 42 seconds ahead of Colombia's Carlos Betancur.
The 30-year-old Sicilian, a three-time national champion, collapsed with exhaustion at the finish after clinching his first win in a Grand Tour.
He came home 54 seconds ahead of the Maglia Rosa group of Nibali, Cadel Evans, Rigoberto Uran and Michele Scarponi, who crossed the line together.
Nibali launched an attack with around 2km to go but his rivals quickly reeled him in and there were few other fireworks involving the riders at the top of the general classification.
Australian Evans remains in second place, one minute 26 seconds behind Nibali, with Team Sky's Uran in third place, another minute and 20 seconds back.
"They were extreme conditions, I tried to shake things up at the end but it was very difficult because of the cold," Nibali said.
I wanted to squeeze out some more time on my rivals, and tried accelerating away from them at the end but, even if that didn't work, I'm still very pleased with how things stand overall.
"It was a good day, I've got a good advantage on my rivals."
The riders started the day by tackling a 25km climb up to the snow-capped peak of the 1,500m Col du Mont Cenis, but racing did not start until the peloton neared the summit.
A seven-man breakaway formed on the descent, with Visconti striking out on his own on his way up the Col du Telegraphe which, like the Galibier, is normally seen in the Tour de France.
Another Italian, Matteo Rabottini, attempted to catch him but Visconti stayed clear and had the legs to hold on for a memorable victory as the peloton closed in.
Monday is a rest day in the Giro, before racing resumes in the Alps on Tuesday with a 238km route from Valloire to Ivrea, taking taking in a descent of Col du Telegraphe and returning to Col du Mont Cenis.
Stage 15 result:
1. Giovanni Visconti (Italy/Movistar) 4:40:48"
2. Carlos Betancur (Colombia/AG2R) +42"
3. Przemyslaw Niemiec (Poland/Lampre)
4. Rafal Majka (Poland/Saxo)
5. Fabio Duarte (Colombia/Colombia) +47"
6. Michele Scarponi (Italy/Lampre) +54"
7. Vincenzo Nibali (Italy/Astana)
8. Cadel Evans (Australia/BMC Racing)
9. Mauro Santambrogio (Italy/Vini Fantini)
10. Rigoberto Uran (Colombia/Team Sky)
1. Vincenzo Nibali (Italy/Astana) 62:02:34"
2. Cadel Evans (Australia/BMC Racing) +1:26"
3. Rigoberto Uran (Colombia/Team Sky) +2:46"
4. Mauro Santambrogio (Italy/Vini Fantini) +2:47"
5. Michele Scarponi (Italy/Lampre) +3:53"