Ilnur Zakarin climbed to a first Giro d'Italia stage victory since 2015 as Jan Polanc retained his overall lead despite coming under pressure on a gruelling Friday.
Team Katusha-Alpecin rider Zakarin went solo on a brutal final ascent and stayed out on his own to win stage 13, moving him up to third in the general classification.
Mikel Nieve crossed the line at the summit finish 35 seconds after the Russian to take second place ahead of fellow Spaniard Mikel Landa, who surged up a 10-kilometre last climb to take his place on the podium.
Polanc (UAE Team Emirates) still holds the pink jersey, though his advantage was reduced to two minutes and 25 seconds after a relentless 196km ride from Pinerolo.
Primoz Roglic remains second after finishing in the same time as fellow contender Vincenzo Nibali, who is now four minutes and nine seconds adrift of the leader.
Landa's powerful ride leaves him in eighth place with five minutes and eight seconds to make up on Polanc, while Simon Yates slipped further out of contention after crossing the line in 17th.
Zakarin was part of a group of 28 riders that made a breakaway early in the day and he left enough in the tank to storm away on the tough slopes to the finish.
Tao Geoghegan Hart of Team INEOS abandoned after a crash with 120km to go.
ROGLIC RESPONDS TO NIBALI JIBES
Nibali accused Roglic of being defensive on stage 12 and warned there would be nowhere to hide on Friday.
Yet the Slovenian let his riding do the talking as the duo removed a big chunk of Polanc's advantage.
Zakarin demonstrated incredible endurance and tenacity to shoot up the GC standings after a first mountain test in this year’s Giro.
"I'm very happy with this victory. My two attacks weren't planned at all." he said. "I came to the Giro d'Italia to make the top five and I hope it's still possible."
1. Ilnur Zakarin (Team Katusha-Alpecin) 5:34:50
2. Mikel Nieve (Mitchelton-Scott) +0:35
3. Mikel Landa (Movistar) +1:20
4. Richard Carapaz (Movistar) +1:38
5. Bauke Mollema (Trek-Segafredo) +1:45
1. Jan Polanc (UAE Team Emirates) 54:28:59
2. Primoz Roglic (Jumbo-Visma) +2:25
3. Ilnur Zakarin (Team Katusha Alpecin) +2.56
1. Arnaud Demare (Groupama-FDJ) 194
2. Pascal Ackermann (BORA - hansgrohe) 183
3. Richard Carapaz (Movistar) 57
King of the Mountains
1. Giulio Ciccone (Trek-Segafredo) 90
2. Ilnur Zakarin (Team Katusha Alpecin) 42
3. Gianluca Brambilla (Trek-Segafredo) 40
A shorter stage is in store on Saturday, but the riders face another intense test with only 14 of the 131km to be travelled on flat ground as they head from Saint-Vincent to Courmayeur.