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 favored 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 last in Wednesday’s 17th stage.
Meanwhile, Rodriguez 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,” Rodriguez said.
“At the moment I see Hesjedal as the No. 1 favorite,” his Catalan team’s sporting director Valerio Piva added.