Andrea Guardini edged out favourite 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. Roberto Ferrari was third.
Cavendish could not keep up with the Italian at the end of the mainly flat and descending 149-kilometer (93-mile) route from San Vito di Cadore to Vedelago.
It is the fifth victory for an Italian rider in this year's Giro, equalling the country's 1974 record.
Rodriguez maintained his 30-second lead over Ryder Hesjedal in the overall standings. The Spaniard will wear the pink jersey for an eighth day on Friday. He is 1 hour and 22 minutes ahead of the two-time champion Ivan Basso.
Manuele Boaro, Stef Clement, Pier Paolo De Negri and Angelo Pagani broke away just over a mile into the stage. Their advantage quickly grew to over two minutes.
However, the peloton kept them within range and caught up with the group at 66 kilometers (41 miles) to go.
Another break formed shortly after, but Mickael Delage, Martijn Keizer, Clement and Olivier Kaisen never gained substantial lead over the peloton.
Sky drove the peloton forward, keen to help Cavendish record fourth win in this year's Giro. With his main sprinting rivals having out ahead of the tough mountain stages, Cavendish was the favourite to win.
However, a powerful surge from Guardini in the final 500 yards saw him come up the outside to beat the world champion.
Guardini's previous best finish in this year's race was 10th in stage 3.
Carlos Ochoa and Martin Velits withdrew from the race overnight, leaving 167 riders still in the Giro.
Friday's 19th stage is the penultimate mountain ride, with five categorised climbs including two category one ascents along the 198-kilometer (123-mile) route from Treviso to Val di Fiemme.
The Giro ends on Sunday in Milan.