Argos-Shimano's Marcel Kittel beat Mark Cavendish on a sprint finish to take Stage 12 - his third win of the Tour De France so far.
The German sprinter was passed by Cavendish with 250 metres to the line, but latched onto his wheel and edged passed him at the finish to steal the stage. Green jersey leader Peter Sagan finished in third.
Team Sky's Chris Froome retains the yellow jersey after an uneventful ride, and maintains his 3minute 25second lead over second-placed Alejandro Valverde.
After coming through yesterday's stage doused in urine and with the ire of a section of fans still ringing in his ears, Cavendish went out with a point to prove on the flat 218km stage.
The Omega Pharma Quickstep rider was blamed by a group of Tour watchers for causing the Stage 10 crash that sent Tom Veelers down on the sprint finish. But the Dutch rider was culpable, according to a race jury.
The third longest stage of this year's Tour, it was always going to come down to a sprint finish.
Team Sky kept Froome out of trouble in the peloton - although there is a concern over Edvald Boasson-Hagen. The Team Sky rider went down hard, along with several from Lotto Belisol, and crossed the finish line clutching his shoulder.
A five-man breakaway was caught with just 5km to go - Juan Antonio Flecha led the race for all of 210km. And Omega Pharma Quickstep and Argos-Shimano jostled for position coming through to the finish in Tours.
Cavendish went early but couldn't hold on, and Kittel popped out from his slipstream over the final 50m to take his third victory in the Tour so far.
The big win though was for Peter Sagan - the Slovakian's third place consolidates his green jersey lead.