Irishman Dan Martin won his first leg of the Giro d’Italia, while Britain’s Simon Yates narrowed the gap behind overall leader Egan Bernal on stage 17.
Bernal cracked for the first time and lost almost a minute to Yates, who is up to third place overall.
Colombian Bernal also lost three seconds to second-placed Damian Carus and leads by two minutes 21 seconds.
Martin of the Israeli start-up nation rode solo to the final 10km climb, leaving behind his runaway companions.
Yates, from the BikeExchange team, started the fifth day in the general classification, but his late attack means that he is behind Bernal with 3:23, and there are four stages left.
Bernal, who expanded his overall advantage with an impressive victory on stage 16 before a day off on Tuesday, he suffered from a long-term back problem that badly affected his form last year.
But he insisted that Yates was simply better that day.
“Today must have been a difficult day for me,” Bernal said. “The last few kilometers were really steep. I tried to follow Yates, but today he was stronger than me. I just tried to get there with Carus, who is closest to GC – I don’t want to take any chances.
“Yates must have been impressive and I did my best. I’m happy I didn’t waste too much time.”
Britain’s Hugh Carthy started the mountain stage on Wednesday at the Sega di Ala, third overall – but EF Education-Nippo driver is now fifth, 2:46 behind compatriot Yates in last place on the podium.
Martin, born in Birmingham, 34, finished 13 seconds behind Almeida Deceuninck Quick-Step, adding the first stage on the Giro to his previous victories at the Tour de France and the Vuelta a Espana.
Italian Giulio Ciccone fell from sixth to tenth place after taking part in an accident involving Belgian Remco Evenepoel, 21, who disappeared after his hard-fought efforts to rejoin the main group.
It was later decided that Evenepoel, after returning to the races nine months after the horrific accident during Il Lombardy in 2020, would leave the race.
One of the most exciting cycling talents, Evenepoel was just 15 seconds behind Bernal entering the first day of rest on his Grand Tour debut, but exploded on stage on Monday and fell out of the clash.
The 18th stage on Thursday is a relatively flat 231km route from Roveret to Stradella.
Results of phase 17
1. Daniel Martin (Irl / Israeli start-up state) 4 hours 54 minutes 38 seconds
2. Joao Almeida (Author / Deceuninck-Quick Step) + 13 seconds
3. Simon Yates (GB / Team BikeExchange) + 30 seconds
4. Diego Ulysses (Da / UAE Team Emirates) +1 min 20 seconds
5. Damiano Caruso (Ita / Bahrain Victorious) at the same time
6. Daniel Martínez (Col / Ineos Grenadiers) +1: 23
7. Egan Bernal (Col / Ineos Grenadiers) at the same time
8. Antonio Pedrero (Banja / Movistar) +1: 38
9. Pello Bilbao (Banja / Bahrain winning) +1: 43
10. George Bennett (NZ / Jumbo-Visma) +2: 21
1. Egan Bernal (Col / Ineos Grenadiers) 71h 32min 05secs
2. Damiano Caruso (Ita / Bahrain Winning) + 2 minutes 21 sec
3. Simon Yates (GB / Team BikeExchange) +3: 23
4. Alexander Vlasov (Rus / Astana-Premier Tech) +6: 03
5. Hugh Carthy (GB / EF Education-Nippo) +6: 09
6. Romain Bardet (Fra / Team DSM) +6: 31
7. Daniel Martinez (Col / Ineos Grenadiers) +7: 17
8. Joao Almeida (Written by / Deceuninck-Quick-Step) +8: 45
9. Tobias Foss (Nor / Jumbo-Visma) +9: 18
10. Giulio Ciccone (Ita / Trek-Segafredo) +11: 06