Italy's Vincenzo Nibali won stage 19 of the Giro d'Italia, but Esteban Chaves' third-place finish saw him take the pink jersey from Steven Kruijswijk, who crashed on the treacherous Colle dell'Agnello.
Kruijswijk started a dramatic 162km stage with a three-minute lead over Chaves but ploughed into a snow bank while descending the Colle dell'Agnello, the highest point of this year's Giro, and dropped to third on the GC with two stages remaining.
Former Tour de France winner Nibali has jumped to second place overall, now just 44 seconds behind the new leader, after holding off Chaves' challenge on the last climb to Risoul.
An emotional Nibali, the home favourite who had appeared to be out of contention following earlier time losses, burst into tears after his first stage win of this year's Giro.
He said: "I've won by rage today. It hasn't been easy to handle everything that has happened over the past few days.
"I dedicate this victory to Rosario (a young pupil of his who accidentally died two weeks ago).
"I'm very happy. It's been a terribly hard stage. I want to keep my feet on the ground."
LottoNL-Jumbo's Kruijswijk, who needed to change bikes after crashing, was clearly struggling on the final climb and finished almost five minutes behind Astana rider Nibali.
The Dutchman now trails Chaves (Orica-GreenEdge) by 1:05 ahead of another mountain stage tomorrow.
Colombian Chaves said: "I'm happy to have the Maglia Rosa and be so close to winning the Giro, but there's another hard stage tomorrow.
"I'm sorry for Steven Kruijswijk. He made a small mistake in the downhill but he defended himself very courageously.
"I've tried to stay with Nibali but he was too strong for me today."
Kruijswijk was not the only rider who fell victim to the Colle dell'Agnello as minutes after the Dutchman's crash, footage emerged of Katusha's Ilnur Zakarin, who was fifth before the stage began, lying stricken on the side of the road.
The Russian's race ended with him being taken to hospital with a suspected broken collarbone.
There was better news for Nicolas Roche, however, as the Irish Team Sky rider also hit the deck on the Agnello but was able to pick himself up and claim a fine top-ten finish on the day.