Match ends, Rennes 2, Paris Saint Germain 0.
Paris St-Germain's 100% start in Ligue 1 was ended by Rennes as Lionel Messi suffered his first defeat since arriving at the club.
The hosts scored two quick goals either side of half-time through Gatetan Laborde and Flavien Tait.
Mauricio Pochettino's side did not have a single shot on target, despite Messi, Neymar and Kylian Mbappe all starting.
The defeat is PSG's first in Ligue 1 since April, when they were beaten by last season's eventual champions Lille.
Rennes opened the scoring on 44 minutes when Laborde converted from Kamaldeen Sulemana's superb cross.
Tait added a second soon after the restart with a sweeping finish into the bottom corner.
After slicing an effort high over the bar in the first half, Mbappe thought he had pulled a goal back for Pochettino's side midway through the second half, only for it to be ruled out for offside by the video assistant referee (VAR).
The Frenchman is now on a run of five games without a goal in all competitions.
PSG were spared further damage when referee Ruddy Buquet reversed his decision to award Rennes a penalty for Achraf Hakimi's foul on Laborde after checking the pitchside monitor.
Neymar missed a volley in the first half and Idrissa Gueye fired wide of the post, but Lionel Messi came closest for PSG when he hit the crossbar from a free-kick.
Bruno Genesio's Rennes side had only won twice in Ligue 1 heading into Sunday's game, but were clinical in front of goal and scored from two of their four shots on target.
The result leaves PSG top of Ligue 1 on 24 points, six points clear of Lens, while Rennes move up to seventh.
Line-ups
Rennes
Formation 4-4-2
- 16Gomis
- 27Traoré
- 23Omari
- 6Aguerd
- 25Meling
- 14BourigeaudSubstituted forAssignonat 75'minutes
- 28MartinBooked at 55minsSubstituted forSantamaríaat 75'minutes
- 20TaitSubstituted forUgochukwuat 86'minutes
- 10Sulemana
- 24LabordeBooked at 24mins
- 7TerrierSubstituted forGuirassyat 75'minutes
Substitutes
- 1Salin
- 3Truffert
- 4Badé
- 8Santamaría
- 9Guirassy
- 17Tchaouna
- 18Abline
- 22Assignon
- 26Ugochukwu
PSG
Formation 4-2-3-1
- 50G DonnarummaBooked at 56mins
- 2Hakimi
- 5Marquinhos
- 3KimpembeBooked at 55mins
- 25Nuno Mendes
- 27GueyeSubstituted forHerreraat 76'minutes
- 6VerrattiSubstituted forWijnaldumat 76'minutes
- 11Di María
- 30Messi
- 10NeymarSubstituted forIcardiat 76'minutes
- 7MbappéBooked at 86mins
Substitutes
- 1Navas
- 8Paredes
- 9Icardi
- 12Rafinha
- 15Danilo
- 18Wijnaldum
- 21Herrera
- 22Diallo
- 24Kehrer
- Referee:
- Ruddy Buquet
- Attendance:
- 28,092
Match Stats
- Possession
- Home33%
- Away67%
- Shots
- Home12
- Away13
- Shots on Target
- Home4
- Away0
- Corners
- Home4
- Away4
- Fouls
- Home9
- Away4
Live Text
Post update
Full Time
Second Half ends, Rennes 2, Paris Saint Germain 0.
Post update
Hand ball by Lesley Ugochukwu (Rennes).
Post update
Corner, Paris Saint Germain. Conceded by Lorenz Assignon.
Post update
Attempt blocked. Ángel Di María (Paris Saint Germain) left footed shot from outside the box is blocked.
Post update
Ander Herrera (Paris Saint Germain) wins a free kick on the left wing.
Post update
Foul by Baptiste Santamaría (Rennes).
Post update
Attempt missed. Gaëtan Laborde (Rennes) header from the centre of the box is high and wide to the right. Assisted by Baptiste Santamaría with a cross.
Post update
Attempt missed. Lionel Messi (Paris Saint Germain) left footed shot from outside the box misses to the left. Assisted by Ángel Di María.
Post update
Offside, Rennes. Kamaldeen Sulemana tries a through ball, but Gaëtan Laborde is caught offside.
Post update
Attempt missed. Ángel Di María (Paris Saint Germain) left footed shot from the left side of the box misses to the right. Assisted by Ander Herrera.
Post update
Attempt missed. Gaëtan Laborde (Rennes) left footed shot from outside the box is high and wide to the left. Assisted by Baptiste Santamaría.
Post update
Corner, Paris Saint Germain. Conceded by Lorenz Assignon.
Substitution
Substitution, Rennes. Lesley Ugochukwu replaces Flavien Tait.
Booking
Kylian Mbappé (Paris Saint Germain) is shown the yellow card for a bad foul.
Post update
Foul by Kylian Mbappé (Paris Saint Germain).
Post update
Lorenz Assignon (Rennes) wins a free kick in the defensive half.
Post update
VAR Decision: No Penalty Rennes.
Post update
Attempt saved. Hamari Traoré (Rennes) right footed shot from outside the box is saved in the centre of the goal. Assisted by Serhou Guirassy.
Substitution
Substitution, Paris Saint Germain. Ander Herrera replaces Idrissa Gueye.
- What's the worst that could happen? Possibly everything! The Goes Wrong Show is streaming now
- The Office at 20: Ricky Gervais reveals behind-the-scenes facts and secrets of the comedy classic