Swiss cyclist Fabian Cancellara has won the third and longest stage of this year's Tour de France to extend his lead and retain the overall race leader's yellow jersey.

Cancellara, who also won the prologue, outdueled a breakaway group of riders in a sprint finish Tuesday to complete the 236.5 kilometer trek from Waregem, Belgium to Compiegne, France in 6:36:15.

German rider Erik Zabel was second, while Italy's Danilo Napolitano was third, both credited with the same time.

Cancellara received bonus points for winning the stage and extended his overall race lead by 10 seconds. He is now 33 seconds in front of Germany's Andreas Kloeden, while British rider David Millar is third, 41 seconds back.

Some information for this report was provided by AFP and AP.