Andrea Guardini edged out favorite Mark Cavendish in a bunch sprint to win the 18th stage of the Giro d'Italia on Thursday as Joaquin Rodriguez kept his grip on the overall lead.
Guardini, who finished last in the previous stage, timed his sprint to perfection to win in 3 hours, 52 seconds.
Cavendish could not keep up with the Italian at the end of the mainly flat and descending 93-mile route from San Vito di Cadore to Vedelago.
Rodriguez maintained his 30-second lead over Ryder Hesjedal in the overall standings.
Friday's 19th stage is the penultimate mountain ride, with five categorized climbs including two category one ascents along the 123-mile route from Treviso to Val di Fiemme.
The Giro ends May 27 in Milan.