Vedelago, Italy – Italian Andrea Guardini won the 18th stage of the Tour of Italy on Thursday, the 22-year-old Farnese Vini team member holding off British world champion Mark Cavendish.
Spain's Joaquim Rodriguez retained the overall leader's pink jersey with three days of racing to go.
Cavendish was followed home after the 149km run by Roberto Ferrari with South African Robert Hunter in fourth.
Cavendish, who is targeting the red jersey as the Tour's overall points champion, narrowly missed out on his fourth stage of the race.
The Team Sky star will not be favoured by the make-up of the last three stages, two in the mountains and the concluding time trial.
He won the intermediate sprint on Thursday at the 84km mark.
In the closing stages the Isle of Man-born rider's teammates were unable to set him up for victory with Guardini launching his sprint to the line just ahead of Cavendish.
Guardini, who won six stages on the Tour of Lankawi in Malaysia at the start of the season, was clinching his seventh success of the year.
“Incredible, incredible,” said the ecstatic winner who had finished plum last in Wednesday's 17th stage.
Rodriguez meanwhile was wary of the threat posed by Canadian Ryder Hesjedal, who is lying half a minute behind in second in the overall standings.
“Thirty seconds in front of him isn't enough,” said Rodriguez.
“At the moment I see Hesjedal as the number one favourite,” added his Catalan team's sporting director Valerio Piva.
“To win the Giro, Rodriguez must take time from the Canadian and maintain his cushion over the others.”
Italian favourite Ivan Basso is placed third overall, at 1min 22sec.
Friday's stamina-sapping 19th stage in the mountains is a 198km run from Treviso to the Alpe di Pampeago. – Sapa-AFP