Dans la ligne droite finale (1'900 m), le long de la mer Tyrrhénienne, Bennett a débordé Viviani qui s'était imposé dans les 2 premiers sprints massifs du Giro.
L'Irlandais de 27 ans a enlevé pour la 1re fois de sa carrière une étape du Giro. L'année passée, il s'était incliné face au Colombien Fernando Gaviria à Tortona (13e étape).
Troisième des 2 premiers sprints en Israël, Bennett a gagné cette fois nettement après avoir pris la roue de Viviani.
afp/savi
7e étape: Pizzo - Praia a Mare (159 km) (11.05)
1. Sam Bennett IRL 3h45'27"
2. Elia Viviani ITA + 0"
3. Niccolo Bonifazio ITA 0"
4. Sacha Modolo ITA 0"
5. Danny van Poppel NED 0"
112. Kilian Frankiny SUI 1'31"
150. Steve Morabito SUI 1'40"
152. Sébast. Reichenbach SUI 1'40"
Classement général (11.05)
1. Simon Yates GBR 26h31'30"
2. Tom Dumoulin NED + 0'16"
3. Esteban Chaves COL 0'26"
4. Domenico Pozzovivo ITA 0'43"
5. Thibaut Pinot FRA 0'45"
39. Sébast. Reichenbach SUI 9'21"
103. Kilian Frankiny SUI 32'59"
108. Steve Morabito SUI 34'49"