San Martino di Castrozza - 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 percent gradient.
The 29-year-old, 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.
"This is pure happiness," beamed Chaves. "It takes a heavy weight off my back.
"It's a relief to be a winner again. It shows I can do it. Because the last climb wasn't very steep, I had to attack many many times. A big thank you to everyone who supported me when I had a hard time."
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.
"I felt good all day, so I attacked," said Lopez. "I am happy with the result but, certainly, the most important thing will be decided tomorrow."
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.
"I was expecting Miguel Angel Lopez to attack, but we dealt with it the best possible way with Mikel Landa," Carapaz said.
"It's another good day for us and we're looking forward to tomorrow. We're ready to defend the Maglia Rosa in a harder stage than today."
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 percent up Croce d'Aune and 6.9km at 7.3 percent up Monte Avena.
Carapaz said he was sure he could count on the support Landa, who started the race as Movistar team leader.
"From now on, he is at my service 100%. He told me himself," Carapaz said.
The Giro ends with a 15.6km time trial in Verona on Sunday.
"I will worry about Verona when I am in Verona," Carapaz said. "Tomorrow, is a big stage, very long with a lot of climbs."
Results after Friday's 19th stage of the Giro d'Italia over 151km from Treviso to San Martino di Castrozza on Friday:
1. Esteban Chaves (COL/MIT) 4hr 01min 31sec,2. Andrea Vendrame (ITA/AND) at 10, 3. Amaro Antunes (POR/CCC) 12, 4. Giovanni Carboni (ITA/BAR) 24, 5. Pieter Serry (BEL/DEC) 32, 6. François Bidard (FRA/ALM) 35, 7. Marco Canola (ITA/NIP) 1:02, 8. Manuele Boro (ITA/AST) 1:37, 9. Manuel Senni (ITA/BAR) 1:53, 10. Olivier Le Gac (FRA/FDJ) 2:33, 11. Marco Marcato (ITA/UAE) 3:59, 12. Ivan Santaromita (ITA/NIP) 4:47, 13. Miguel Angel Lopez (COL/AST) 5:45, 14. Primož Roglic (SLO/JUM) 6:29, 15. Richard Carapaz (ECU/MOV) 6:29, 16. Vincenzo Nibali (ITA/BAH) 6:29, 17. Mikel Landa (ESP/MOV) 6:29, 18. Rafal Majka (POL/BOR) 6:29, 19. Bauke Mollema (NED/TRE) 6:29, 20. Hugh Carthy (GBR/EF1) 6:29, 21. Domenico Pozzovivo (ITA/BAH) 6:29, 22. Ilnur Zakarin (RUS/KAT) 6:33, 23. Simon Yates (GBR/MIT) 6:33, 24. Eddie Dunbar (IRL/INE) 6:35, 25. Pavel Sivakov (RUS/INE) 6:35.
1. Richard Carapaz (ECU/Movistar) 83 hr 52min 22sec, 2. Vincenzo Nibali (ITA/BAH) at 1:54, 3. Primoz Roglic (SLO/JUM) 2:16, 4. Mikel Landa (ESP/MOV) 3:03, 5. Bauke Mollema (NED/TRE) 5:07, 6. Miguel Angel Lopez (COL/AST) 5:33, 7. Rafal Majka (POL/BOR) 6:48, 8. Simon Yates (GBR/MIT) 7:17,9. Pavel Sivakov (RUS/INE) 8:27, 10. Davide Formolo (ITA/BOR) 10:06, 11. Jan Polanc (SLO/UAE) 10:27, 12. Ilnur Zakarin (RUS/KAT) 10:36, 13. Hugh Carthy (GBR/EF1) 14:51, 14. Joe Dombrowski (USA/EF1) 16:51, 15. Valentin Madouas (FRA/FDJ) 20:52, 16. Fausto Masnada (ITA/AND) 24:50, 17. Giulio Ciccone (ITA/TRE) 26:26, 18. Víctor De la Parte (ESP/CCC) 27:12, 19. Mikel Nieve (ESP/MIT) 27:12, 20. Tanel Kangert (EST/EF1) 29:49.1