Marcel Kittel has claimed his third stage win at the Tour de France by edging Mark Cavendish in a thrilling finish to the 12th stage.
The Argos-Shimano rider was overtaken by Cavendish within sight of the finish line, but powered back to overtake his rival and snatch the victory.
Cavendish had to settle for second place at end of the 218km stage, with Peter Sagan just behind in third place.
Team Sky's Chris Froome did enough to retain the yellow jersey, staying clear of a crash involving his teammates to maintain a lead of three minutes and 25 seconds over Alejandro Valverde.