Italian Giulio Ciccone claimed victory on stage 16 of the Giro d'Italia as compatriot Vincenzo Nibali climbed to second in the general classification.
The Trek-Segafredo rider, 24, beat Astana's Jan Hirt in a sprint finish to prevail in tough conditions in Brescia.
Overall leader Richard Carapaz saw his lead extended by one minute as Primoz Roglic finished 15th and fell to third.
Britain's Simon Yates, 14th, finished alongside Roglic, three minutes three seconds down, to remain eighth overall.
Fellow Briton Hugh Carthy battled to fifth place on Tuesday to rise one place to 13th in the standings with five stages remaining.
After the second rest day, the Giro returned for a 194km 16th stage from Lovere to Ponte di Legno, culminating in the gruelling 11.9km ascent of the Mortirolo pass.
The planned climb up the Gavia pass had been cancelled due to avalanche risks, but the riders had to contend with cold and wet conditions on an exhausting day.
Looking to extend his lead in the mountain classifications, Ciccone led the early breakaway but was pushed all the way by Hirt's surges at the front.
"I've been waiting for this second stage win for two years now," said Ciccone. "So I yelled with joy on the finishing line because it's been a complicated day with lots of rain and cold."
Meanwhile, two-time Giro winner Nibali made his move with 34km to go, but Carapaz was able to stay in touch to move one minute 47 seconds clear overall as Roglic faded behind.
Roglic had lost 40 seconds on Carapaz on stage 15, crashing on the final descent, and now trails the Ecuadorian by two minutes nine seconds after finishing one minute 22 seconds down on his GC rivals on Tuesday.
Nibali, however, was unable to shake Carapaz - who had Movistar team-mate Mikel Landa in close support - amid the murk of the Mortirolo.
Following stage 16, Carapaz said: "The truth is that it's been a very complicated day, especially because of the weather conditions and the climbs.
"But as a team we've worked very well for Mikel Landa and myself. It's another good day in terms of time gained on GC."
Stage 17 takes the riders 181km from Commezzadura to Rasen-Antholz, with a demanding 5.5km final climb of an average 8.5% gradient.
Stage 16 results:
1. Giulio Ciccone (Ita/Trek-Segafredo) 5hrs 36mins 24secs
2. Jan Hirt (Cze/Astana) Same time
3. Fausto Masnada (Ita/Androni Giocattoli-Sidermec) +1min 20secs
4. Vincenzo Nibali (Ita/Bahrain-Merida) +1min 41secs
5. Hugh Carthy (Gbr/EF Education First) Same time
6. Richard Carapaz (Ecu/Movistar) Same time
7. Mikel Landa (Spa/Movistar) Same time
8. Joe Dombrowski (Usa/EF Education First) Same time
9. Damiano Caruso (Ita/Bahrain-Merida) +1min 49secs
10. Mattia Cattaneo (Ita/Androni Giocattoli-Sidermec) +2mins 03secs
General classification after stage 16:
1. Richard Carapaz (Ecu/Movistar) 70hrs 2mins 05secs
2. Vincenzo Nibali (Ita/Bahrain-Merida) +1min 47secs
3. Primoz Roglic (Slo/Jumbo-Visma) +2mins 09secs
4. Mikel Landa (Spa/Movistar) +3mins 15secs
5. Bauke Mollema (Ned/Trek-Segafredo) +5mins 00secs
6. Rafal Majka (Pol/Bora-Hansgrohe) +5mins 40secs
7. Miguel Angel Lopez (Col/Astana) +6mins 17secs
8. Simon Yates (Gbr/Mitchelton-Scott) +6mins 46secs
9. Pavel Sivakov (Rus/Ineos) +7mins 51secs
10. Jan Polanc (Slo/UAE Emirates) +8mins 06secs