Reigning champions Montpellier's scarcely believable start to the Ligue 1 season continued as defeat at Rennes left them with only eight points from nine games.
Jean Makoun's 12th-minute header and Mevlut Erding's goal early in the second half set Rennes on their way to victory.
Younes Belhanda pulled a goal back from the penalty spot but it was not enough to save Montpellier from their fifth defeat of the campaign.
Erding threatened early on from Jonathan Pitroipa's through-ball, but keeper Laurent Pionnier turned the ball around the post.
That corner came to nothing, but from another just a minute later, Romain Alessandrini's delivery was met by Makoun with a diving header to open the scoring.
Benjamin Stambouli headed Anthony Mounier's cross against the post shortly afterwards but it was an isolated threat as Montpellier failed to settle into the game.
Mounier threatened in the 34th minute but his shot flew just over the bar and it remained 1-0 at the interval.
Gaetan Charbonnier had an almost immediate chance to level after the restart, but keeper Benoit Costil won the one-on-one battle.
And Erding soon doubled Rennes' lead, Alessandrini again the provider as Erding rounded Pionnier and stroked the ball into an empty net.
Onyekachi Apam's foul on John Utaka in the penalty area gave Montpellier a way back into the game in the 68th minute, Belhanda sending Costil the wrong way from the spot.
But Rennes held out to win and went very close to adding a third goal in the 71st minute. Pionnier parried Erding's 25-yard effort, and when Pitroipa headed the rebound goalwards, Henri Bedimo raced back to clear the ball off the line.