Ireland's Sam Bennett Bennett (Bora-Hansgrohe) has taken a podium finish on the 12th stage of the Giro d'Italia, finishing in third place for the third time in this year's race.

The Carrick-on-Suir man is still searching for his maiden grand tour win, which given this kind of form, can't be too far away as he once again mixed it with some of the sport's fastest competitors.

The Irish rider finished just behind stage winner Fernando Gaviria (Quick Step Floors) with Jakub Mareczko (Wilier-Triestina) taking second place.

The 229-kilometre stage from Forlì to Reggio Emilia stage was the longest stage of this year's race and saw a three-man breakaway spend much of the day in front.

But the break was swallowed up with seven kilometres to go and Bennett appeared to be well placed to take the win as his Bora team controlled the front of the bunch in the final stages.

But Gaviria was brought to the front at the perfect time to edge out his rivals to claim his third stage victory of the Giro, which saw the Colombian increase his already substantial lead in the points classification.

Bennett praised his team for another great effort and admitted his frustration at not finishing off the job.

"I want to thank the guys for another great job today," Bennett told Eurosport.

"It's nice to be consistently there, you have to take the positives. But there's so many sprinters here at a similar level so the slightest mistake will cost you."

Dutchman Tom Dumoulin (Team Sunweb) retained the overall leader's pink jersey after the GC contenders spent a comfortable day in the peloton.

Team Sky's Philip Deignan finished safely in a group that trailed in 2:17 behind the leaders.

Tomorrow's 13th stage is the final chance for the sprinters to leave their mark on the race, a flat 167km ride to Tortona.