Carapaz took the leader’s jersey from Juanpe Lopez after the Spaniard cracked on the penultimate ascent of the day
Briton Yates, whose title ambitions had already been dashed, attacked from a group of four with four kilometres left to prevail in Turin after a 147-kilometre ride from Santena.
Ecuador’s Carapaz, who was third on the day behind Australia’s Jai Hindley, snatched the leader’s maglia rosa jersey from Juanpe Lopez after the Spaniard cracked on the penultimate ascent of the day.
Former champion Vincenzo Nibali was fourth, 15 seconds down on Yates and beaten in the sprint by Hindley and Carapaz.
Ineos-Grenadiers rider Carapaz, who won the 2019 Giro when riding for Movistar, attacked on the Superga climb, a 5-km ascent at 8.6%, and Lopez lost touch to finish four minutes and 25 seconds off the pace.
Carapaz was however caught by Hindley, Nibali and Yates on the ascent to the Colle della Maddalena and he lacked a bit of juice for the final sprint.
No geral, he now leads Hindley, whose Bora-Hansgrohe team blew up the race with 80km to go, by seven seconds, and Portugal’s Joao Almeida, who took sixth place 39 seconds behind Yates, de 30 segundos.
Tom Dumoulin, a 2017 vencedora, abandoned early in the stage as he was suffering from back problems.
Sunday’s 15th stage is a brutal 177-km mountain trek from Rivarolo Cavanese to Cogne in the Aosta valley.