As the riders approached the finish, Briton Mark Cavendish attacked first but Greipel timed his riposte perfectly to overtake him near the line for his seventh Tour stage win. Swiss veteran Fabian Cancellara took the yellow jersey from overnight leader Rohan Dennis