Enrico Battaglin came off the wheel of Italian compatriot Giovanni Visconti to snatch stage five of the Giro d'Italia as the overall lead stayed the same.
Team LottoNL-Jumbo's Battaglin, third on Tuesday's fourth stage, made his move inside the final 200m of the 153km ride from Agrigento to Santa Ninfa in Sicily.
In another frantic finale Britain's Simon Yates took fifth on the day to stay in third place overall, 17 seconds behind general classification leader Rohan Dennis.
Britain's Chris Froome is 57 seconds back, with Thursday's stage up Mount Etna his first real chance to claw back some of those seconds lost in the first week.
"The finish was a little difficult yesterday," Battaglin, who finished third on stage four on Tuesday, told Eurosport.
"Yesterday was a powerful sprint, but today was a steep climb and at 2km to go I had time to rest and recover and have a really big sprint."
Australian Dennis retains the overall lead for BMC by one second from defending champion Tom Dumoulin.
Astana's Miguel Angel Lopez was the big loser on the day, shedding 42 seconds on his GC rivals after misjudging a benign right-hand bend with 6km to go and ending up in the grass.
A four-man break made its move early in the 153km stage, the first half of that on flat roads before the parcours became more rolling as the race developed.
And it stayed away for most of the day, Ireland's Ryan Mullen showing well before Andrea Vendrame broke clear with 20km to go.
The Italian held on to the lead until the final three kilometres when he was swamped by the peloton, the mood in the pack nervous after the splits late on Tuesday's stage and made more more fractured yet by a number of small crashes.
Elia Viviani, winner of stages two and three in Israel, was one of those held up, his hopes of a third stage win dashed.
For Froome it was all about ensuring no more time was lost on Dumoulin after a fraught first five days. Team Sky were more visible at the front of the peloton than they had been, with the four-time Tour de France champion still optimistic that he can add a Giro maglia rosa to his Tour and Vuelta a Espana titles.
Stage five result:
1 Enrico Battaglin (Ita/LottoNL-Jumbo) 4hrs 6mins 33secs
2 Giovanni Visconti (Ita/Bahrain-Merida) Same time
3 Jose Gonçalves (Por/Katusha-Alpecin)
4 Maximilian Schachmann (Ger/Quick-Step Floors)
5 Simon Yates (GB/Mitchelton-Scott)
6 Tim Wellens (Bel/Lotto Soudal)
7 Francesco Gavazzi (Ita/Androni Giocattoli-Sidermec)
8 Maurits Lammertink (Ned/Katusha-Alpecin)
9 Domenico Pozzovivo (Ita/Bahrain-Merida)
10 Patrick Konrad (Aut/Bora-Hansgrohe)
General classification after stage five:
1 Rohan Dennis (Aus/BMC) 18hr 29min 41secs
2 Tom Dumoulin (Ned/Team Sunweb) +1sec
3 Simon Yates (GB/Mitchelton-Scott) +17secs
4 Tim Wellens (Bel/Lotto Fix All) +19secs
5 Pello Bilbao (Spa/Astana) +25secs
6 Maximilian Schachmann (Ger/Quick-Step Floors) +28secs
7 Domenico Pozzovivo (Ita/Bahrain-Merida) Same time
8 Jose Gonçalves (Por/Katusha-Alpecin) +32secs
9 Thibaut Pinot (Fra/Groupama-FDJ) +34secs
10 Patrick Konrad (Aut/Bora-Hansgrohe) +35secs
20. Chris Froome (GB/Team Sky) +55secs