Dutch rider Dylan Groenewegen won the seventh stage of this year's Tour de France - the second Tour stage win of his career. Belgium's Greg Van Avermaet retained the yellow jersey for another day.
The peloton remained together for most of the 231km stage from Fougères, untill Groenewegen, Fernando Gaviria and Peter Sagan, plus Mark Cavendish and Arnaud Démare, made their way to the front with six kilometers remaining.
The Team Lotto NL-Jumbo rider powered to victory in the final sprint, crossing the line first in Chartres ahead of Gaviria in second and world champion Sagan in third.
"We'll definitely celebrate a bit tonight," said Groenewegen, "and maybe a bit more tomorrow!"
Belgian Team BMC Racing rider Van Avermaet won the intermediate sprint, picking up three bonus seconds to help defend the yellow jersey.
The best-placed German rider was John Degenkolb of Trek-Segafredo who finished sixth, while Andre Greipel (Lotto-Soudal) finished eighth.
Tomorrow's eighth stage takes the riders 181km to Amiens and also looks likely to end in a sprint finish - although the route does include two category four climbs.