Chris Froome (Team Sky) attacked with four kilometres to go to take stage 14 of the Giro d'Italia, with Simon Yates (Mitchelton-Scott), who retained the pink jersey, finishing second.
A five-man breakaway group had stretched out a lead of over five-and-a-half minutes but they were reeled in before the final punishing climb up Monte Zoncolan with five kilometres to go.
With the breakaway caught Wout Poels (Team Sky) took to the front, followed by Froome, Yates and Tom Dumoulin (Team Sunweb) and Thibaut Pinot (FDJ).
Then Froome, pushing a fan in a dinosaur costume to the side of the road, launched his attack.
The reigning Vuelta a Espana and Tour de France champion gained 11 seconds on Yates before his fellow Briton responded pushing Froome to the line, while fellow general classification contenders Dumoulin lost 31 seconds and Pinot lost over a minute.
Yates stretched his overall lead to one minute and 24 seconds over Dumoulin ahead of Sunday's grueling stage through the Dolomite Range.