Ireland’s Sam Bennett won a sprint finish on the Imola racing circuit to take stage 12 of the Giro d’Italia.
In dire conditions, what should have been 214km of build-up to a bunch sprint instead became another thriller.
And the 27-year-old Bennett judged his move to perfection to take the win from Danny van Poppel and Niccolo Bonifazio.
Britain’s Simon Yates, who won Wednesday’s stage into Osimo, maintains his overall lead on Tom Dumoulin at 47 seconds.
Bennett, who also won stage seven into Praia a Mare, becomes the first Irishman to win multiple stages at one of the sport’s Grand Tours since the great Sean Kelly at the Giro of 1988.
Heavy rain had begun to fall with just over an hour of racing to go, and caused splits in the peloton as the roads filled with standing water and spray kicked up from the wheels.
Quick-step Floors’ Italian sprinter Elia Viviani, winner of two sprint stages in the Giro’s first week and one of the favourites for this stage, was one of those caught out, and Bennett’s Bora-Hansgrohe team went to the front of the main group to drive the pace on.
Yates was being well protected by his Mitchelton-Scott team-mates as the pack approached the final 15 kilometres on the racetrack.
Tim Wellens was the first to make a move but was caught with 10km to go as lightning strikes flashed in the darkening sky.
The course then left the circuit for a brief climb and Carlos Betancor and Diego Ulissi were the next to make a move, holding a slim six-second lead on a twisty, sodden descent before Matej Mohoric went to the front.
But Bennett’s power took him clear as he launched a long sprint with 400 metres to go, leaving Mohoric and Betancor in his wake, none of his rivals able to stay with him.
He said: “It was a tough finale. I didn’t know how much energy the two riders in front had left at the end.
“I decided to go early – I didn’t know if I could hold it but I think I caught a few by surprise so that worked to my advantage.”
Bennett’s win narrows Viviani’s lead in the points classification, with another sprinters’ stage to come on Friday before the race takes on the fearsome Zoncolan climb on Saturday.