Montauban - Mark Cavendish won his third stage at this year's Tour de France on Thursday, pipping German Marcel Kittel in a sprint finish at the end of the sixth stage.
It was Cavendish's 29th Tour stage win in total, giving him sole possession of second place on the all-time list.
Belgium's Greg Van Avermaet kept hold of the race leader's yellow jersey at the end of the 190.5km stage from Arpajon-sur-Cere to Montauban.
Cavendish now has only Belgian great Eddy Merckx ahead of him in the all-time stage win list on 34 having moved clear of French icon Bernard Hinault's mark of 28.
It confirmed the 31-year-old Briton's return to form this season and already, just six stages in, it's his best Tour since winning three stages in 2012.
His countryman Dan McLay took a surprise third on the stage as Cavendish beat Kittel, winner of Tuesday's fourth stage, into second place for the second time this Tour.
He beat the German on Saturday's opening stage finish at Utah Beach while also winning Monday's third stage in Angers.
It also meant Cavendish took the sprinters' green points jersey off Peter Sagan, who could finish only fifth.
Van Avermaet leads by 5min 11sec from Frenchman Julian Alaphilippe and Spain's Alejandro Valverde at 5:13, ahead of Friday's arrival in the Pyrenees and the high mountains.
Reigning champion Chris Froome is only four seconds behind that on the same time as his chief rival Nairo Quintana.
Results from the sixth stage of the Tour de France from Arpajon-sur-Cere to Montauban on Thursday:
1. Mark Cavendish (GBR/DDT) 5hrs 43mins 48sec
2. Marcel Kittel (GER/ETI) same time.
3. Daniel McLay (GBR/FVC) s.t.
4. Alexander Kristoff (NOR/KAT) s.t.
5. Christophe Laporte (FRA/COF) s.t.
6. Peter Sagan (SVK/TIN) s.t.
7. Dylan Groenewegen (NED/LNL) s.t.
8. Edward Theuns (BEL/TRE) s.t.
9. Bryan Coquard (FRA/DEN) s.t.
10. Shane Archbold (NZL/BOA) s.t.