Former Italian national champion Visconti rode the entire final climb alone as first rain - and then snow - fell on the 145km stage from Cesana Torinese into the French Alps.
Visconti finished 42 seconds ahead of a quartet of riders featuring two Colombians - Carlos Betancur (Ag2R-La Mondiale) and Fabio Duarte (Colombia) - and two Poles - Przemyslaw Niemec (Lampre-Merida) and Rafal Majka (Saxo-Tinkoff).
Maglia rosa Vincenzo Nibali (Astana) crossed the line 12 seconds further back alongside GC rivals Cadel Evans (BMC), Michele Scarponi (Lampre), Mauro Santambrogio (Vini Fantini) and Rigoberto Uran (Team Sky).
Nibali retains a lead of 1min 26secs over Australian veteran Evans going into the second rest day of the race. Colombian Uran is third at 2:46 while stage 14 winner Santambrogio is one second further back in fourth.
"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," said 28-year-old Sicilian Nibali, who won the Vuelta a Espana in 2010. "Today was a good day, I've got a good advantage on my rivals."
Visconti's victory was the 30-year-old Italian's biggest win of his career - and his first on the Giro in six participations.
"I've sacrificed myself for a year and a half. I abandoned the Giro last year. It hasn't been easy," a tearful Visconti said. "I let it all out today, thinking my family, my baby."
Visconti, who wore the blue king of the mountains jersey for six days earlier in the race, was part of a seven-man group that formed towards the summit of the first of three climbs, the Cat.1 Col du Mont Cenis.
It took 55 kilometres - and almost two hours of extremely sluggish riding - before the weather-affected stage sparked into action.
With the road to the summit of Mont-Cenis flanked by banks of snow, the peloton enforced a unofficial go-slow - even though the sun was out and the sky mostly blue.
In freezing temperatures, the current blue jersey Stefano Pirazzi (Bardiani Valvole) jumped clear of the peloton 2km before the summit in search of valuable KOM points.
Colombia's Robinson Chalapud was first to reply - although he was pipped to second place over the summit by Pirazzi's team-mate Francesco Bongiorno.
Dutchman Pieter Weening (Orica-GreenEdge), Colombian Miguel Angel Rubiano (Androni Giocattoli) and Italians Matteo Rabottini (Vini Fantini) and Visconti joined Pirazzi, Bongiorno and Chalapud on the descent and the leaders had soon build up a lead of six minutes.
With Lotto Belisol leading the chase in the peloton, the gap was reduced to just over two minutes ahead of the back-to-back ascents of the Col du Telegraph and Col du Galibier with 30km remaining.
Pirazzi and Weening attacked from the break on the Telegraph but were soon joined by Visconti and Rabottini. Back with the main pack, Lotto's plan came into effect when Belgian Francis de Greef rode off the front in pursuit of Dutchman Robert Gesink (Blanco), who was looking to save his race after losing more than four minutes on Saturday's stage to Jafferau.
Visconti made him move 27km from the finish and half-way into the Cat.2 climb. The Italian crossed the summit of the Telegraph almost three minutes ahead of the main pack, which trailed by one minute a second Gesink chasing group that also included Sky's Sergio Henao, Euskaltel's Egoi Martinez, Vini Fantini's Danilo Di Luca and RadioShack-Leopard's Robert Kiserlovski.
At the foot of the shortened final climb of the Galibier Visconti held 55 seconds over the Pirazzi chasing group and 2:15 over the second Gesink group.
Rabottini dropped Pirazzi and Weening in pursuit of the lone leader, while the Gesink group was mopped up by the main pack inside the final 8km.
Numerous riders attempted to break clear of the pack in the closing stages - including Blanco pair Wilco Kelderman and Juan Manuel Garate, Euskaltel's Samuel Sanchez, Cannondale's Damiano Caruso and 2011 champion Scarponi - but the pace setting by the Astana team of Nibali neutralised all efforts to blow the race apart.
With the rain having turned to slushy snow, Rabottini was the last chaser to be caught with 1.5km remaining. At this point Visconti had already ridden underneath the 1km-to-go banner and the stage - which finished alongside the Marco Pantani memorial - was his.
Unknowing of the fierce battle playing out behind him, an exhausted Visconti could hardly even muster a smile as he pumped his fists and crossed the line moments before slumping to the ground in heap of glorious fatigue.
The win marked the end of a difficult period for Visconti, who abandoned last year's Giro in the corresponding stage and was dealt a three-month suspension in the close season for working with the controversial banned Italian doctor Michele Ferrari.
"I hope it marks the point where I can restart my career again and get things back on track," Visconti said.
Polish youngster Majka, the white jersey as best young rider, attacked inside the last kilometre to spark a reply by Betancur, who trailed his rival by just seven seconds on the overnight youth standings.
Betancur proved the strongest in the battle for second place - his third runners-up berth in the race enough to earn him the requisite 12 bonus seconds, take the white jersey and move five seconds ahead of Majka, who finished fourth behind compatriot Niemiec.
Visconti's points haul over the two final climbs of the day saw the Italian move into second place in the KOM standings where he trails blue jersey Pirazzi by 65 points to 42.
After Monday's second rest day the race continues on Tuesday with the 238km stage 16 from Valloire to Ivrea which includes two categorised climbs but a flat finish.
- Sports & Recreation
- Vincenzo Nibali
- Carlos Betancur
- Stefano Pirazzi
- Rafal Majka