Fabio Aru returned to second place overall and took a small chunk out of Alberto Contador’s lead of the Giro d’Italia with a rousing solo win on stage 19.
Aru (Astana) attacked out a small group of favourites with 7.7km remaining to the summit finish in Cervinia and crossed the line 28 seconds ahead of runner-up Ryder Hesjedal (Cannondale-Garmin) and 1min 10sec in front of third-placed Rigoberto Uran (Etixx – Quick-Step).
Contador (Tinkoff-Saxo) and Mikel Landa (Astana), who started the day second overall, followed another eight seconds later in sixth and seventh respectively after both showed no interest in trying to chase down Aru.
The result means Contador is now 4min 37sec ahead of Aru in the general classification, while Landa drops to third but remains 5min 15sec adrift of the pink jersey with one mountain stage and one sprint stage remaining.
Team Sky’s Leopold Konig has climbed one place to fifth after finishing three second down on Contador’s group in eighth place.
Contador said: "I kept and eye on my closest rival, Mikel Landa. You have to take a tactical decision in the end. Landa and Aru could have taken turns to attack all the way up the final climb.
"Obviously, I would like to win a stage, but it is hard. The result today is perfect for me. Anyway, if you ask anyone which they would prefer, a stage win or the maglia rosa [pink jersey], they will say the maglia rosa."
Stage 19 took the riders on a mountainous 236km route and after all of the race favourites arrived at the final climb together, Landa launched the first attack and Aru's recent struggles looked set to continue when he was briefly dropped.
The group soon came back together, though, and Hesjedal capitalised on a brief lull in action to attack and move into a lone lead.
Aru was then allowed to set off in pursuit and after catching and passing Hesjedal, he built up an unassailable advantage as both Contador and Landa opted to conserve energy for Saturday's 20th stage, which ends with the race's sixth and final summit finish, at Sestriere.
Stage 19 result
1 Fabio Aru (Ita) Astana, 6:24:13
2 Ryder Hesjedal (Can) Cannondale-Garmin, +28secs
3 Rigoberto Uran (Col) Etixx – Quick-Step, +1:10
4 Tanel Kangert (Est) Astana, +1:18
5 Steven Kruijswijk (Ned) LottoNL-Jumbo, same time
6 Alberto Contador (Esp) Tinkoff-Saxo, st
7 Mikel Landa (Esp) Astana, st
8 Leopold Konig (Cze) Team Sky, +1:21
9 Mikel Nieve (Esp) Team Sky, +1:24
10 Alexandre Geniez (Fra) FDJ.fr, +2:24
General classification
1 Alberto Contador (Esp) Tinkoff-Saxo, 78:48:40
2 Fabio Aru (Ita) Astana, +4:37
3 Mikel Landa (Esp) Astana, +5:15
4 Andrey Amador (Cos) Movistar, +8:10
5 Leopold Konig (Cze) Team Sky, +10:47
6 Yuri Trofimov (Rus) Katusha, +11:11
7 Ryder Hesjedal (Can) Cannondale-Garmin, +12:05
8 Damiano Caruso (Ita) BMC Racing, +12:14
9 Steven Kruijswijk (Ned) LottoNL-Jumbo, +12:53
10 Alexandre Geniez (Fra) FDJ.fr, +15:07