Australian Caleb Ewan claimed a second career win on the Giro d'Italia when he prevailed in the eighth stage, a 239-km ride from Tortorelo Lido.
The Lotto-Soudal rider, a stage winner in 2017, was perfectly positioned after a tight curve 200 metres from the line and beat Italian champion Elia Viviani (Deceuninck-Quick Step) in a short sprint.
Ireland's Eddie Dunbar finished in 79th place, 1:07 behind the main group, while Conor Dunne was some way further back in 118th, 5:50 off the pace.
German Pascal Ackermann (Bora-Hansgrohe), who leads the points classification, took third place.
Italian Valerio Conti of Team UAE retained the overall leader's pink jersey.
"Determination and the help of the team made me a winner today. We've been trying for seven days to get this win. I'm just so happy to win this stage," said Ewan.
"I wanted to be first in the last corner but it was still a long way away so it worked better to get out of Ackermann's wheel. I knew I had a good kick and I went around him."
Sunday's ninth stage is a 34.8-km individual time trial from Riccione to San Marino featuring a 12.25-km climb at the end.