Britain's Simon Yates hung on to the leader's pink jersey as Ecuador's Richard Carapaz made a late move to win stage eight of the Giro d'Italia.
The Movistar rider launched a solo attack with a little over one kilometre to go on the 209km route from Praia a Mare to Montevergine di Mercogliano.
Mitchelton-Scott's Yates finished safely in the bunch to maintain his 16-second lead over Tom Dumoulin.
Chris Froome crashed in the rain but recovered to stay 70 seconds adrift.
"It was slippery but it was OK," said Yates.
"I feel really good and I just need some good luck. I have great team-mates to help me do this."
A seven-man break had gone away early on a stage that was expected to bring limited drama.
But as so often at the Giro the vagaries of the weather and the route blew the stage open, the long 17km uphill drag to the finish made treacherous by heavy rain.
Britain's Chris Froome was one of those to fall, his wheels sliding out from under him on a tight right-hander.
While his team-mates brought him back to the main group, he finished with blood coming from his right knee, which was already strapped after the fall he suffered before the start of the first stage in Jerusalem.
Froome stays at one minute and 10 seconds down on his compatriot Yates, but drops a place to ninth in the general classification as 24-year-old Carapaz secured his first Grand Tour stage win.
Never before has an Ecuadorian won a stage at one of cycling's three Grand Tours, but Carapaz timed his move beautifully after the Netherlands' Koen Bouwman had jumped away from the other three men remaining from that initial break.
France's Thibaut Pinot dragged back a few seconds after claiming third, and with Sunday's stage finishing above 2,000 metres there is likely to be more drama still before the race's second rest day on Monday.
Stage eight results:
1 Richard Carapaz (Ecu/Movistar) 5hr 11min 35sec
2 Davide Formolo (Ita/Bora-Hansgrohe) +07secs
3 Thibaut Pinot (Fra/Groupama-FDJ) same time
4 Enrico Battaglin (Ita/Lotto NL-Jumbo)
5 Simon Yates (GB/Mitchelton-Scott)
6 Domenico Pozzovivo (Ita/Bahrain-Merida)
7 Esteban Chaves (Col/Mitchelton-Scott)
8 Patrick Konrad (Aut/Bora-Hansgrohe)
9 Michael Woods (Can/EF Education First - Drapac p/b Cannondale)
10 Pello Bilbao (Spa/Astana Pro Team)
1 Simon Yates (GB/Mitchelton-Scott) 31hrs 43mins 12secs
2 Tom Dumoulin (Ned/Team Sunweb) +16secs
3 Esteban Chaves (Col/Mitchelton-Scott) +26secs
4 Thibaut Pinot (Fra/Groupama-FDJ) +41secs
5 Domenico Pozzovivo (Ita/Bahrain-Merida) +43secs
6 Rohan Dennis (Aus/BMC Racing) +53secs
7 Pello Bilbao (Spa/Astana Pro Team) +01min 03secs
8 Richard Carapaz (Ecu/Movistar) +01min 06secs
9 Chris Froome (GB/Team Sky) +01min 10secs
10 George Bennett (NZ/LottoNL-Jumbo) +01min 11secs