The Jumbo-Visma rider beat Australian Caleb Ewan (Lotto Soudal) and Slovak Peter Sagan (Bora Hansgrohe) into second and third, respectively.
It was Groenewegen's fourth stage win on the Tour, two years after his first came in the prestigious final ride on the Champs Elysees in Paris.
Italian Giulio Ciccone (Trek Segafredo), who extended his contract with Trek-Segafredo by two years until 2021, retained the overall lead.
Saturday's eighth stage is a 200 km ride from Macon to St Etienne, where France's Julian Alaphilippe, second overall six seconds off the pace, is expected to try and regain the yellow jersey on a hilly course in central France.
On the longest stage of the race, Frenchmen Yoann Offredo and Stephane Rossetto formed the day's breakaway with virtually no chance of going all the way against a peloton working towards a bunch sprint finish.
Ireland's Nicolas Roche lost focus and fell off his bike without any injuries while American Tejay van Garderen, once a Tour overall contender, suffered damages in a crash early on.
"Tejay suffered an injury to his face, among other abrasions. He’s been checked and treated by Le Tour doctor and will be evaluated further by the team doctor at the finish," his EF-Education First team said.