Peter Sagan won stage five of the Tour de France in Colmar as Julian Alaphilippe retained the yellow jersey.
The 175.5km stage from Saint-Die-des-Vosges came down to a sprint finish as the quickmen kept pace with the peloton over the late climb of Cinq Chateaux.
And it was Sagan, in the points leader's green jersey, who collected his first win of this year's Tour as he powered clear of Wout Van Aert and Matteo Trentin.
It was a 13th career Tour stage victory for Bora-Hansgrohe's Sagan, who is aiming to win the green jersey for what would be a record seventh time this year.
Mitchelton-Scott's Trentin launched his sprint first but Sagan had the power to come around.
Alaphilippe, who has worn yellow since his solo win on stage three to Epernay, crossed the line in 10th place, to remain in the overall lead.
Second place on the day and six bonus seconds for Jumbo-Visma's Van Aert sees Alaphilippe's cushion in yellow cut to 14 seconds, although Thursday's stage to La Planche des Belles Filles is likely to see a complete rewrite of the general classification.
Dan Martin and Nicholas Roche both finished in the leading group. Roche drops one position to 19th on the general classification, one minute down on Alaphilippe, while his cousin Martin is a further 28 seconds further adrift in 35th position.