Sam Bennett won stage seven today at the Giro d'Italia ©Getty Images

Sam Bennett claimed a maiden Grand Tour stage win by sprinting to victory on stage seven of the Giro d'Italia in Praia a Mare.

The Irishman, who rides for Bora-Hansgrohe, jumped Italian rival Elia Viviani in the final stages of the 159 kilometres route from Pizzo.

He finished in 3 hours 45min 27sec to finally cross the line first after a series of near misses.

Viviani had looked on course to take his third stage win of the race after taking the lead with the line in sight, but the Quick-Step Floors rider had to settle for second place on the same time.

His fellow Italian Niccolo Bonifazio took third riding for Bahrain-Merida.

Sam Bennett cuts a delighted figure as he crosses the line first ©Getty Images
Sam Bennett cuts a delighted figure as he crosses the line first ©Getty Images

"I feel relieved," said Bennett afterwards.

"I’ve been so close so many times in the Giro, to really get the timing right was key with so many fast sprinters here. 

"It’s not easy to beat Viviani - he really knows what he’s doing. 

"My time came - at one point I thought it would never come. 

"I want to thank the team and everybody who got me to this point."

Britain's Simon Yates held on to the overall lead by finishing in the group behind Bennett.

The Mitchelton-Scott rider still leads defending champion Tom Dumoulin of The Netherlands and Team Sunweb by 16 seconds.

Yates' Colombian team-mate Esteban Chaves lies third, a further 10 seconds back.

Britain's Team Sky rider and Tour de France champion Chris Froome lies eights, 1:10 off the lead.

Stage eight tomorrow will consist of a 209km mountain stage from Praia a Mare to Montevergine.