BRIVE LA GAILLARDE (France), July 20: Frustrated since his victory in the second stage more than two weeks ago, Mark Cavendish sprinted masterfully in the last stretch to win the 18th stage of the Tour de France on Friday.

The world champion, led out in the finale by his Team Sky leader and yellow jersey holder Bradley Wiggins, surged to the front as the peloton caught two escapees.

Australia's Matt Goss was second and Slovak Peter Sagan, the green jersey holder, was third.

Wiggins retained his two minutes five seconds overall lead on team mate Chris Froome while Italy's Vincenzo Nibali is third, 2:41 adrift.

It was Cavendish's 22nd stage win on the Tour de France, putting him level with seven-time Tour champion Lance Armstrong and famous French sprinter Andre Darrigade.

The stage was marred by a crash caused by a dog rushing on the road, which sent Belgium's Philippe Gilbert, Russia's Denis Menchov and France's Arthur Vichot to the tarmac. No one was seriously hurt.

French president Francois Hollande paid a visit to the Tour on the roads of his home region of Correze.

Saturday's 19th and penultimate stage is a 53.5-kms individual time trial which is on paper ideally suited for Wiggins.

Results:

18th stage (Blagnac - Brive-la-Gaillarde, 222.5 km): 1. Mark Cavendish (Britain / Team Sky) 4:54:12”; 2. Matthew Goss (Australia / Orica) same time; 3. Peter Sagan (Slovakia / Liquigas); 4. Luis Leon Sanchez (Spain / Rabobank); 5. Nicolas Roche (Ireland / AG2R); 6. Tyler Farrar (US / Garmin); 7. Borut Bozic (Slovenia / Astana); 8. Sebastien Hinault (France / AG2R); 9. Daryl Impey (South Africa / Orica); 10. Samuel Dumoulin (France / Cofidis); 11. Andre Greipel (Germany / Lotto); 12. Juan Jose Haedo (Argentina / Saxo Bank); 13. Edvald Boasson Hagen (Norway / Team Sky); 14. Andreas Kloeden (Germany / RadioShack); 15. Koen de Kort (Netherlands / Argos) +4”; 16. Luca Paolini (Italy / Katusha); 17. Julien Simon (France / Saur - Sojasun); 18. Lars Bak (Denmark / Lotto); 19. Bradley Wiggins (Britain / Team Sky); 20. Marco Marcato (Italy / Vacansoleil); 21. Juergen Roelandts (Belgium / Lotto); 22. Chris Froome (Britain / Team Sky); 23. Adam Hansen (Australia / Lotto); 24. Maxime Monfort (Belgium / RadioShack); 25. Ruben Perez (Spain / Euskaltel); 26. Jurgen Van den Broeck (Belgium / Lotto); 27. Vincenzo Nibali (Italy / Liquigas); 28. Alexandr Vinokurov (Kazakhstan / Astana); 29. Danilo Hondo (Germany / Lampre); 30. Chris Horner (US / RadioShack).—Reuters