Rennes scored three times in a blistering first half before holding off a fast-finishing Lyon to win 3-2 in the French league.
Lyon had won five of their last six games but were second best in the opening 45 minutes to a team led by Martin Terrier, who scored his first two goals of the season.
Terrier put Rennes ahead after 22 minutes when he took advantage of slack defending to hammer a left-foot shot into the roof of the net.
Midfielder Désiré Doué got the second after 36 minutes when he cut inside from the left and fired home an unstoppable strike from just outside the box.
Lyon were a different prospect in the second half. Brazilian left back Henrique Silva pulled a goal back for the home side in the 56th.
Alexandre Lacazette reduced the deficit further after 77 minutes with a close-range finish.
Although Lyon dominated possession they could not turn that advantage into goals and they remained third from bottom in Ligue 1.
Rennes moved from 10th to ninth.