CHARTRES, France -- Dutch rider Dylan Groenewegen beat favourites Fernando Gaviria and Peter Sagan in a sprint to win the longest stage of the Tour de France on Friday.

Four-time champion Chris Froome and the other favourites finished in the main pack on Stage 7, which -- unlike earlier sprinting legs -- was without serious crashes.

Greg Van Avermaet held on to the yellow jersey he grabbed in Stage 3 and doubled his lead over Geraint Thomas to six seconds by winning an intermediate bonus sprint.

Gaviria and Sagan have each won two stages in this year's Tour and were marking each other when Groenewegen surprised both and surged ahead on the final straight.

It was the second career victory at the Tour for Groenewegen, who also won a sprint in last year's concluding stage on the Champs-Elysees in Paris.

Groenewegen, who rides for Team Lotto NL-Jumbo, clocked nearly six hours over the 231-kilometre (143.5-mile) trek from Fougeres, home to the best-preserved and largest medieval fortress in Europe, to Chartres, site of a vast cathedral known for its stained-glass windows.

Gaviria crossed second and Sagan was third.