Ecuador's Richard Carapaz tightened his grip on the leader's pink jersey as Colombia's Esteban Chaves claimed victory in the 19th stage of the Giro d'Italia on Friday.
Chaves, riding for the Mitchelton-Scott team, edged clear of a breakaway that battled up a gruelling final 13.6km climb with a 5.6% gradient.
Chaves, who finished second in the Giro and third in the Vuelta in 2016, found himself riding solo with just under 3km to race to the line. Italy's Andrea Vendrame twice overcame chain problems to finish second with Portugal's Amaro Antunes rounding out the podium.
Chaves' compatriot Miguel Angel Lopez, chasing second spot in the general classification, was the big winner of the day as he finished more than 40sec ahead of his main rivals.
With just two days of racing to come, the Colombian is now lying in sixth at 5min 33sec.
Leader Carapaz resisted a late surge by third-placed Primoz Roglic, holding on to cross the mountain-top finish line in a peloton alongside the Slovenian, Italian Vincenzo Nibali and Spain's Mikel Landa, the latter two staying in second and fourth positions overall respectively.
On Saturday's penultimate stage, the riders tackle a punishing 193km ride from Feltre to Croce d'Aune Monte Avena in the Dolomites that features five long climbs including 11km at 5.5% up Croce d'Aune and 6.9km at 7.3% up Monte Avena. The Giro ends with a 15.6km time trial in Verona on Sunday.