Britain’s Simon Yates won stage 19 of the Giro d’Italia to close the gap on overall leader Egan Bernal to under three minutes with two stages to go.
Yates, 28, finished 11 seconds ahead of Deceuninck-QuickStep’s Joao Almeida on the 176km ride from Abbiategrasso to Alpe di Mera.
Bernal was 28 seconds behind in third.
The Ineos Grenadiers rider is two minutes 29 seconds ahead Damiano Caruso in the general classification and 2:49 ahead of Yates.
“I’m really happy,” Yates said. “The team did a fantastic job. They really controlled the start and worked a lot and I managed to finish it off so I’m really happy.”
Saturday’s stage 20 is a 163km ride in the mountains from Valle Spluga to Alpe Motta. The Giro ends with a time trial in Milan in Sunday.
Yates, the 2018 Vuelta a Espana winner, was in an aggressive mood on Friday and made his move with just over six kilometres remaining, moving clear of Almedia and Bernal on the climb.
It was Yates’ fourth Giro stage win but first at this year’s race.
“I saw the boys from Ineos were happy just to ride a tempo and I had a feeling they would let me go,” Yates added.
“I read something from Egan on Twitter or whatever about how they would be conservative and try to control rather than go with me and as soon as I attacked I saw that was correct.”
Stage 19 results
1. Simon Yates (GB/Team BikeExchange) 4hrs 2mins 55secs
2. João Almeida (Por/Deceuninck-Quick-Step) +11secs
3. Egan Bernal (Col/Ineos Grenadiers) +28secs
4. Damiano Caruso (Ita/Bahrain Victorious) +32secs
5. Aleksandr Vlasov (Rus/Astana-Premier Tech) same time
6. Daniel Martin (Irl/Israel Start-Up Nation) +42secs
7. Daniel Martínez (Col/Ineos Grenadiers +49secs
8. Koen Bouwman (Ned/Jumbo-Visma +1min 25secs
9. Tobias Foss (Nor/Jumbo-Visma) same time
10. Romain Bardet (Fra/Team DSM) same time
11. Hugh Carthy (GB/EF Education-Nippo) same time
General classification
1. Egan Bernal (Col/Ineos Grenadiers) 81hrs 13mins 37secs
2. Damiano Caruso (Ita/Bahrain Victorious) +2mins 29secs
3. Simon Yates (GB/Team BikeExchange) +2:49
4. Aleksandr Vlasov (Rus/Astana-Premier Tech) +6:11
5. Hugh Carthy (GB/EF Education-Nippo) +7:10
6. Romain Bardet (Fra/Team DSM) +7:32
7. Daniel Martinez (Col/Ineos Grenadiers) +7:42
8. Joao Almeida (Por/Deceuninck-Quick-Step) +8:26
9. Tobias Foss (Nor/Jumbo-Visma) +10:19
10. Daniel Martin (Irl/Israel Start-Up Nation) +13:55