PARIS — Rennes scored just before and after the break to beat Paris Saint-Germain 2-0 on Sunday and hand the runaway league leader its first defeat of the season.
Gaetan Laborde put Rennes ahead on the stroke of halftime after PSG star Lionel Messi had hit the crossbar with a free kick in the 31st minute. Laborde turned provider in the 46th for midfielder Flavien Tait.
"We played a very physical game and we hurt them on each of our runs,'' Tait said. "They were missing something today.''
PSG won its opening eight games but needed injury-time goals to edge victories against Lyon and Metz.
"The first person responsible is me,'' PSG coach Mauricio Pochettino said after he was outwitted by Rennes coach Bruno Genesio.
PSG is six points ahead of second-placed Lens and eight clear of third-placed Nice, which has played one game less.
Rennes has been a tough place to visit for PSG in recent seasons and was again so for different reasons.
Because of heavy wind and rain, the team was unable to fly to Brittany on Saturday night and arrived at the stadium by coach and car.
The six-time Ballon d'Or winner Messi, who scored a brilliant first goal for PSG in the Champions League on Tuesday, had a shot blocked early on. He hit the crossbar with a free kick for the second time since joining PSG in a shock move from Barcelona, where he netted 672 goals.
Although he still awaits his first league goal for PSG, Messi set up Mbappe midway through the first half — but the shot was scuffed — and almost created a goal for Neymar.
PSG was punished when Ghana winger Kamaldeen Sulemana picked out Laborde for his league-leading sixth goal.
Mbappe pounced midway through the second half after Messi and Angel Di Maria put him through, but the goal was ruled out after a video review showed Mbappe was offside.
Laborde won a late penalty but it was called off following a review.
In the late game, last-placed Saint-Etienne scored an injury-time penalty to tie bitter local rival Lyon 1-1.
Tunisia forward Wahbi Khazri's spot kick for the hosts in the fifth minute of stoppage time came when video review detected a handball by Lyon defender Jason Denayer.
Khazri's goal led to a brief invasion of the field by home fans, but the game quickly resumed and concluded.
Midtable Lyon missed the chance to go fifth while Saint-Etienne has just four points and is yet to win.
Lyon finished with 10 players after goalkeeper Anthony Lopes was sent off in the 74th for handling the ball outside the penalty area when striker Denis Bouanga lobbed him.
Khazri scored in the 33rd but his effort was offside.
Lyon had punished Saint-Etienne when midfielder Houssem Aouar finished off Lucas Paqueta's pass in the 42nd. Former Liverpool winger Xherdan Shaqiri netted shortly after but his effort was disallowed because Paqueta was offside.
The second half was halted for a few minutes after Khazri accidentally kicked Lopes in the head reaching for the ball.
Marseille earlier lost 2-0 at defending champion Lille with Marseille fans mourning the loss of iconic former president Bernard Tapie, who died on Sunday morning from cancer. He was 78.
Marseille fans erected a giant portrait of Tapie in front of their home stadium Stade Velodrome as tearful fans paid respects.
Lille and Marseille fans joined together in a moment's applause before the game as a picture of Tapie was beamed on the stadium scoreboard. Marseille players wore black armbands.
Canada forward Jonathan David scored twice and his second goal deep into injury time was set up by United States forward Timothy Weah, the son of Liberia president George Weah.
Marseille finished with 10 players after Turkey winger Cengiz Under was sent off in the 77th for a high tackle. Marseille dropped to fifth place behind Angers as improving Lille moved up to eighth.
Angers beat Metz 3-2 with 17-year-old forward Mohamed-Ali Cho among the scorers.
Monaco's resurgence continued as it beat Bordeaux 3-0 to move up to sixth place and ninth-place Nantes beat Troyes 2-0.
Erik-Palmer Brown, a 24-year-old American defender, made his debut for Troyes following a loan from Manchester City.
Also, it was Lorient 1, Clermont 1.