Simon Yates saw his lead in the Giro d'Italia halved by defending champion Tom Dumoulin as Max Schachmann won stage 18 out of the day's breakaway.
Yates cracked on the climb to the summit finish at Prato Nevoso as Dumoulin followed an attack from Team Sky's Chris Froome inside the final two kilometres of the 196km stage from Abbiategrasso.
Team Sunweb's Dumoulin took 28 seconds out of Mitchelton-Scott's Yates, halving the 25-year-old Briton's advantage in the leader's pink jersey.
Up ahead, Quick-Step Floors' Schachmann beat veteran Ruben Plaza (Israel Cycling Academy) and Mattia Cattaneo (Androni Giocattoli-Sidermec) to the line, with the trio emerging from a 12-man breakaway which hit the final climb with an advantage of 16 minutes over the peloton.
This was the first time Yates has appeared to be in any trouble since taking the pink jersey on stage six.
He had survived what was seen as his main test, emerging from Tuesday's time trial with a 56-second advantage over Dumoulin and what appeared to be favourable terrain still to come.
But the sight of him being distanced on this long climb to the finish will give his rivals hope ahead of two mountainous days to come on Friday and Saturday.
Dumoulin had been the first to make a move but Yates was able to hold his wheel. It was when Froome, initially distanced, caught back up and then pushed again that Dumoulin and third-placed Domenico Pozzovivo followed but Yates fell behind.
"I didn't have great legs so I did the best I could and that's it," Yates said on Eurosport. "I'm still in front so it's all good."
Dumoulin played down the significance of his gains.
"Of course it's a good day but I know the coming two days are going to be different and much harder than today," the Dutchman said.
Froome's attack also saw him pick up time on the pink jersey but with Pozzovivo part of the move he remains in fourth place, three minutes and 22 seconds off pink and 39 seconds behind Pozzovivo in the final podium spot.