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.

SI Apps
We've Got Apps Too
Get expert analysis, unrivaled access, and the award-winning storytelling only SI can provide - from Peter King, Tom Verducci, Lee Jenkins, Seth Davis, and more - delivered straight to you, along with up-to-the-minute news and live scores.