Egan Bernal experienced his first setback at the Giro d'Italia on Wednesday even as the Colombian retained the leader's pink jersey as Dan Martin won the 17th stage in the mountains after a solo break.
Bernal appeared vulnerable for the first time since the race got underway in Turin, losing nearly a minute to Simon Yates, but the Ineos rider still held almost all of his lead on Damiano Caruso, overall second two minutes, 21 seconds behind, with the race finishing in Milan on Sunday.
Bernal lost nearly a minute to Yates as the BikeExchange rider moved up from fifth to third place, at 3min 23sec.
"Today was not my best day but I didn't lose much time, just a few seconds from Caruso," said 2019 Tour de France winner Bernal. "In the end, it's another day out, now let's think about tomorrow. Yates went very fast, he rode an impressive climb.
"I tried to follow him and maybe I was wrong to follow him immediately. This Giro ends in Milan, every day you can lose or gain a lot of time, I have to stay focused."
Martin, 34, resisted his rivals superbly on the final climb to snatch his first Giro stage victory to complete his collection after wins on the Tour de France and Vuelta a Espana.
The Israel Start-Up Nation rider crossed the line alone, 13 seconds ahead of Portugal's Joao Almeida with Yates in third, half-a-minute behind the leader.
"I have no words to describe this success," said Martin after the 193km ride between Canazei and a summit finish at Sega di Ala in the north of Italy.
"I came to the Giro to do well in the GC and try to win a stage.
"Today I wanted to go on the attack and enter in the breakaway, I didn't think the peloton would let me go on the attack but my team did a great job to help me. I have to thank them. I needed a climb like this and the sun to do well!"
Thursday's mostly flat 18th stage should suit the sprinters over 231km between Rovereto and Stradella with a few undulations over the last 30km.