Britain's Simon Yates has had his overall lead over defending champion Tom Dumoulin cut in half up the sharp closing climb to Prato Nevoso on stage 18 of the Giro d'Italia.
German Maximilian Schachmann won the 196km stage after capitalising on a breakaway to finish ahead of Spaniard Ruben Plaza Molina and Italy's Mattia Cattaneo.
New Zealander George Bennett finished 22nd on the stage, 11 minutes behind the winner and he's dropped one spot to be 11th overall.
The Dutch Lotto team rider was a part of an early attack on the 196km stage but that came to nothing and he struggled on the final climb to finish 11 minutes behind the stage winner.
"Yeh it was pretty fast, guys were attacking pretty early on and had a good moment and felt really good and attacked and got a pretty good gap but they caught me on the flat and then went over the top of me and then a blew up in the last 800 metres.
But the biggest drama was played out well behind the leaders in the main pack, with Yates, who started the day with a 56-second lead over Dutchman Dumoulin, dropped in the final few kilometres to blow the race wide open.
World time-trial champion Dumoulin followed an attack by four-times Tour de France champion Chris Froome to finish just ahead of the Team Sky rider, as Yates struggled badly for the first time at this year's Giro.
"I didn't have great legs but did the best I could. I'm still in front so it's all good," an exhausted Yates said after the race.
Dumoulin was cautiously optimistic and clearly pleased to have picked his moment so well to get within 28 seconds of Yates in the general classification.
"I was waiting until the moment and with two kilometres to go I tried to see what was possible," he said. "Yates responded to my first attack and then Froome attacked and I tried to follow and I suddenly found (Yates) was dropped so it was nice."
Italian Domenico Pozzovivo is third in the general standings, with Froome in fourth place, three minutes 22 seconds behind Yates.