Sam Bennett claimed his second Giro d'Italia victory after heavy rain and crosswinds played havoc on stage 12, which finished in Imola.
The Irishman, riding for Bora-Hansgrohe, managed to avoid the carnage in behind and came out on top in a reduced bunch sprint, easily beating off the challenge of Danny van Poppel (Lotto NL-Jumbo).
His main sprint rivals, including points leader Elia Viviani, had been caught out in the closing 30km with only just over 50 riders coming to the line in the lead group.
There were no changes to the overall classification, still led by Britain's Simon Yates, whose 47-second advantage over Tom Dumoulin remains intact.
Five Italian riders who broke away early on were reeled in with 20km remaining, as the rain continued to pour down, but first Tim Wellens and then Diego Ulissi and Carlos Betancur made strong efforts to get away off the front.
However the latter pair were swept up inside the final kilometre and Bennett made his bid for glory some way from the line, quickly putting the rest of the fast finishers in trouble.
He had little trouble in holding off Van Poppel at the historic former home of Formula One's San Marino Grand Prix, with Italy's Niccolo Bonifazio rounding out the top three.
Team Sky's Chris Froome finished in 37th place, safely in the leading group, and he remains in 12th place overall, three minutes and 20 seconds behind Yates.
Friday's 13th stage should end in another bunch sprint, the calm before Saturday's storm which features a summit finish on the notorious Monte Zoncolan.