Portugal's Rui Costa celebrates as he crosses the finish to win the men's elite road race at the UCI Road World Championships in Florence. Picture: Giampiero Sposito

Florence, Italy – Portugal's Rui Costa kept his composure in a tense finale to upset the favourites and clinch the cycling world championships road race on Sunday.

Costa made his move some 1.5 kilometres from the finish to bridge the gap with Joaquim Rodriguez and beat the Spaniard in a sprint finish.

Another Spaniard, Alejandro Valverde, took third place for his fifth podium at the event although he has never won the coveted rainbow jersey.

Home favourite Vincenzo Nibali, who launched the decisive attack in the Fiesole climb despite crashing earlier in the 272.3-km race, had to settle for fourth.

The move left one-day race specialists Fabian Cancellara of Switzerland, Peter Sagan of Slovakia and defending champion Philippe Gilbert of Belgium stuck on the tarmac on the final of 10 laps on a 16.6-km circuit.

About half of the peloton had already abandoned midway through the race, and the whole British team had gone out with five laps to go on an woeful day for Tour de France champion Chris Froome and his team mates.

Only 61 riders of the 208 on the start list finished the rain-hit race that almost turned into carnage.

Multiple crashes and the Italian team's pace at the front caused splits in the skinny peloton but Sagan, Cancellara and Gilbert held on until Nibali attacked and was followed by Rodriguez, Valverde, Costa and Colombia's Rigoberto Uran, who was ruled out of contention when he crashed in a descent.

Former world champion Cadel Evans of Australia, as well as Ireland's Dan Martin and American Vuelta winner Chris Horner pulled out after being involved in crashes. – Reuters