Ligue 1 Regular Season - 33

Paris Saint Germain 1 - 0 FT Stade Brestois 29

Parc des Princes

Match previews and recaps to help you decide which games are worth watching

Futmetrix Verdict
42
FT
Sun, May 10
Français
Paris Saint Germain
1-0
Stade Brestois 29
⚡ Intensity 21
⚖️ Balance 20
🏆 Stakes 100
🎲 Upset 0
Late Doue strike shatters Brest's resistance.

Late Substitute Strike Shatters Brest's Heroic Resistance

Average Entertainment Futmetrix Score: 42/100. A phenomenal goalkeeping display nearly frustrated the league leaders, but PSG's relentless attacking waves ultimately broke the dam in a pivotal title race victory.

A Parisian Siege

A ferocious tempo under the lights at Parc des Princes immediately suffocated the visitors. Paris Saint Germain dominated possession, instantly pinning their opponents deep into a desperate low block. The Intensity was palpable from the very first whistle as a relentless barrage of 23 shots turned the penalty area into an absolute shooting gallery. Supplying the ammunition from the backline, Senny Mayulu delivered a creative masterclass, slicing through the defensive shape with six crucial key passes. Yet, despite dictating every aspect of the play and generating a staggering number of corner kicks, the hosts found themselves banging their heads against a remarkably resilient defensive structure during a deeply frustrating opening period.

The Wall of Brittany

As the clock ticked perilously toward the final whistle, the narrative belonged entirely to Stade Brestois 29's heroic rearguard action. The Balance of the match hinged on the magical gloves of Grégoire Coudert. Flinging himself across the goalmouth to pull off five top-tier saves, he single-handedly kept the visitors breathing. Every time the home crowd prepared to erupt, Coudert conjured another acrobatic miracle. The visitors barely registered a pulse in the attacking third, but their defensive stubbornness introduced a creeping anxiety into the stands. The league leaders desperately needed a tactical spark to bypass a goalkeeper who was clearly playing the game of his life.

The Late Breakthrough

Just as an agonizing stalemate felt inevitable, a managerial reshuffle paid off spectacularly. Brought on in the 53rd minute, D. Doue provided the ultimate super-sub moment. With just eight minutes left in normal time, he finally picked the lock, finishing cleanly after a precise delivery from L. Hernandez. The relief around the stadium was deafening. This late winner carried massive Stakes for the domestic campaign, keeping the hosts firmly at the summit of the table with only a few matches remaining. Brest’s resistance was valiant, but the sheer volume of Parisian pressure eventually dictated this hard-fought 1-0 conclusion.

Key Questions

What made Grégoire Coudert the Man of the Match?

The Brest keeper made five crucial saves, repeatedly denying PSG's lethal attack and keeping his side miraculously in the contest until the dying minutes.

What does this mean for Paris Saint Germain's season?

Sitting top of Ligue 1 with 70 points, this vital late win keeps them firmly in control of the title race with three matches remaining.

How did substitute Grégoire Coudert change the game?

Coudert was actually the starting goalkeeper who heroically anchored the defence; it was Parisian substitute Désiré Doué who ultimately changed the game with his 82nd-minute winner.

What is the Futmetrix Score?

The Futmetrix Score is our 0-100 verdict on how entertaining a match is. We look at intensity, balance, stakes, and star quality to tell you if it's worth your time.

Match Statistics

Possession
67%
33%
Paris Saint Germain 67%
Stade Brestois 29 33%
Shots
23
3
Paris Saint Germain 23
Stade Brestois 29 3
Shots on Target
6
2
Paris Saint Germain 6
Stade Brestois 29 2
Expected Goals (xG)
1.25
0.16
Paris Saint Germain 1.25
Stade Brestois 29 0.16
Passes
687
339
Paris Saint Germain 687
Stade Brestois 29 339
Pass Accuracy
89%
79%
Paris Saint Germain 89%
Stade Brestois 29 79%
Corners
13
2
Paris Saint Germain 13
Stade Brestois 29 2
Fouls
5
12
Paris Saint Germain 5
Stade Brestois 29 12
Yellow Cards
0
0
Paris Saint Germain 0
Stade Brestois 29 0
Red Cards
0
0
Paris Saint Germain 0
Stade Brestois 29 0

Match Events

HT
53' 🔄 Lee Kang-In D. Doue
61' 🔄 G. Ramos O. Dembele
61' 🔄 F. Ruiz K. Kvaratskhelia
K. Doumbia R. Labeau Lascary 🔄 67'
69' 🔄 B. Barcola J. Neves
82' D. Doue (L. Hernandez)
R. Del Castillo M. Balde 🔄 87'
L. Tousart H. Makalou 🔄 88'
FT

Player Cards

Our take on every player in this match

Paris Saint Germain

Goalkeepers
Renato Marin
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
90
Total Mins
Started
Entry
Defenders
Senny Mayulu
ARCHITECT
ARCHITECT
6
Key Passes
6
Key Passes
0
Assists
71%
Pass Acc
Marquinhos
MAGNET
MAGNET
87
Activity
87
Activity
81
Passes
6
Duels
Ilya Zabarnyi
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
90
Total Mins
Started
Entry
Lucas Hernández
WALL
WALL
0
Dribbled Past
0
Dribbled Past
2
Tackles
50%
Duel Win %
Midfielders
Dro Fernández
STORMTROOPER
STORMTROOPER
2
Shots
2
Shots
0
Goals
1
On Target
Lucas Beraldo
ARCHITECT
ARCHITECT
3
Key Passes
3
Key Passes
0
Assists
60%
Pass Acc
Fabián Ruiz
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
61
Total Mins
61
Entry
Forwards
Kang-in Lee
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
53
Total Mins
53
Entry
Gonçalo Ramos
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
61
Total Mins
61
Entry
Bradley Barcola
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
69
Total Mins
69
Entry
BENCH
Matvey Safonov
SPECTATOR
SPECTATOR
0
Saves
0
Saves
0
Conceded
0
Minutes
David Boly
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
0
Total Mins
Started
Entry
Dimitri Lucea
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
0
Total Mins
Started
Entry
João Neves
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
21
Total Mins
Started
Entry
Vitinha
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
0
Total Mins
Started
Entry
Désiré Doué
CLOSER
CLOSER
1
Late Goals
1
Late Goals
0
Late Assists
75
Minute
Khvicha Kvaratskhelia
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
29
Total Mins
Started
Entry
Ousmane Dembélé
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
29
Total Mins
Started
Entry
Ibrahim Mbaye
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
0
Total Mins
Started
Entry

Stade Brestois 29

Goalkeepers
Grégoire Coudert
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
90
Total Mins
Started
Entry
Defenders
Raphaël Le Guen
STORMTROOPER
STORMTROOPER
1
Shots
1
Shots
0
Goals
1
On Target
Lucas Tousart
NPC
NPC
88
Minutes
88
Minutes
13%
Pass Acc
6.3
Rating
Michel Diaz
SHIELD
SHIELD
3
Blocks
3
Blocks
1
Interceptions
1
Tackles
Midfielders
Eric Ebimbe
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
90
Total Mins
Started
Entry
Joris Chotard
SWEEPER
SWEEPER
7
Cleanups
7
Cleanups
4
Interceptions
3
Blocks
Hugo Magnetti
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
90
Total Mins
Started
Entry
Daouda Guindo
SWEEPER
SWEEPER
5
Cleanups
5
Cleanups
3
Interceptions
2
Blocks
Forwards
Romain Del Castillo
PROVOCATEUR
PROVOCATEUR
3
Fouls Won
3
Fouls Won
6
Duels Won
0
Pens Won
Ludovic Ajorque
MAGNET
MAGNET
48
Activity
48
Activity
36
Passes
12
Duels
Kamory Doumbia
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
67
Total Mins
67
Entry
BENCH
Radosław Majecki
SPECTATOR
SPECTATOR
0
Saves
0
Saves
0
Conceded
0
Minutes
Brendan Chardonnet
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
0
Total Mins
Started
Entry
Luc Zogbé
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
0
Total Mins
Started
Entry
Hamidou Makalou
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
9
Total Mins
Started
Entry
Axel Lassus
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
0
Total Mins
Started
Entry
Remy Labeau Lascary
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
23
Total Mins
Started
Entry
Mama Baldé
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
10
Total Mins
Started
Entry
Pathé Mboup
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
0
Total Mins
Started
Entry
Serigne Diop
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
0
Total Mins
Started
Entry

Head to Head

Date Home Score Away Competition Venue
10/25/2025 Stade Brestois 29 0 - 3 Paris Saint Germain Ligue 1 Stade Francis-Le Blé
02/19/2025 Paris Saint Germain 7 - 0 Stade Brestois 29 UEFA Champions League Parc des Princes
02/11/2025 Stade Brestois 29 0 - 3 Paris Saint Germain UEFA Champions League Stade du Roudourou
02/01/2025 Stade Brestois 29 2 - 5 Paris Saint Germain Ligue 1 Stade Francis-Le Blé
09/14/2024 Paris Saint Germain 3 - 1 Stade Brestois 29 Ligue 1 Parc des Princes
02/07/2024 Paris Saint Germain 3 - 1 Stade Brestois 29 Coupe de France Parc des Princes
01/28/2024 Paris Saint Germain 2 - 2 Stade Brestois 29 Ligue 1 Parc des Princes
10/29/2023 Stade Brestois 29 2 - 3 Paris Saint Germain Ligue 1 Stade Francis-Le Blé
03/11/2023 Stade Brestois 29 1 - 2 Paris Saint Germain Ligue 1 Stade Francis-Le Blé
09/10/2022 Paris Saint Germain 1 - 0 Stade Brestois 29 Ligue 1 Parc des Princes
10/25/2025
Ligue 1 Stade Francis-Le Blé
02/19/2025
UEFA Champions League Parc des Princes
02/11/2025
UEFA Champions League Stade du Roudourou
02/01/2025
Ligue 1 Stade Francis-Le Blé
09/14/2024
Ligue 1 Parc des Princes
02/07/2024
Coupe de France Parc des Princes
01/28/2024
Ligue 1 Parc des Princes
10/29/2023
Ligue 1 Stade Francis-Le Blé
03/11/2023
Ligue 1 Stade Francis-Le Blé
09/10/2022
Ligue 1 Parc des Princes
Paris Saint Germain Win
Stade Brestois 29 Win
Draw

League Standings

Pos Team P Pts GF GA GD Form
1 Paris Saint Germain 33 76 73 27 +46 WLens 0 - 2 Paris Saint Germain (13-05-2026)WParis Saint Germain 1 - 0 Stade Brestois 29 (10-05-2026)DParis Saint Germain 2 - 2 Lorient (02-05-2026)WAngers 0 - 3 Paris Saint Germain (25-04-2026)WParis Saint Germain 3 - 0 Nantes (22-04-2026)
2 Lens 33 67 62 35 +27 LLens 0 - 2 Paris Saint Germain (13-05-2026)WLens 1 - 0 Nantes (08-05-2026)DNice 1 - 1 Lens (02-05-2026)DStade Brestois 29 3 - 3 Lens (24-04-2026)WLens 3 - 2 Toulouse (17-04-2026)
3 Lille 33 61 52 35 +17 WMonaco 0 - 1 Lille (10-05-2026)DLille 1 - 1 Le Havre (03-05-2026)WParis FC 0 - 1 Lille (26-04-2026)DLille 0 - 0 Nice (18-04-2026)WToulouse 0 - 4 Lille (12-04-2026)
4 Lyon 33 60 53 36 +17 LToulouse 2 - 1 Lyon (10-05-2026)WLyon 4 - 2 Rennes (03-05-2026)WLyon 3 - 2 Auxerre (25-04-2026)WParis Saint Germain 1 - 2 Lyon (19-04-2026)WLyon 2 - 0 Lorient (12-04-2026)
5 Rennes 33 59 58 47 +11 WRennes 2 - 1 Paris FC (10-05-2026)LLyon 4 - 2 Rennes (03-05-2026)WRennes 2 - 1 Nantes (26-04-2026)WStrasbourg 0 - 3 Rennes (19-04-2026)WRennes 2 - 1 Angers (11-04-2026)
6 Marseille 33 56 60 44 +16 WLe Havre 0 - 1 Marseille (10-05-2026)LNantes 3 - 0 Marseille (02-05-2026)DMarseille 1 - 1 Nice (26-04-2026)LLorient 2 - 0 Marseille (18-04-2026)WMarseille 3 - 1 Metz (10-04-2026)
7 Monaco 33 54 56 49 +7 LMonaco 0 - 1 Lille (10-05-2026)WMetz 1 - 2 Monaco (02-05-2026)DToulouse 2 - 2 Monaco (25-04-2026)DMonaco 2 - 2 Auxerre (19-04-2026)LParis FC 4 - 1 Monaco (10-04-2026)
8 Strasbourg 33 50 53 43 +10 WStade Brestois 29 1 - 2 Strasbourg (13-05-2026)DAngers 1 - 1 Strasbourg (10-05-2026)LStrasbourg 1 - 2 Toulouse (03-05-2026)WLorient 2 - 3 Strasbourg (26-04-2026)LStrasbourg 0 - 3 Rennes (19-04-2026)
9 Lorient 33 45 48 49 -1 WMetz 0 - 4 Lorient (10-05-2026)DParis Saint Germain 2 - 2 Lorient (02-05-2026)LLorient 2 - 3 Strasbourg (26-04-2026)WLorient 2 - 0 Marseille (18-04-2026)LLyon 2 - 0 Lorient (12-04-2026)
10 Toulouse 33 44 47 46 +1 WToulouse 2 - 1 Lyon (10-05-2026)WStrasbourg 1 - 2 Toulouse (03-05-2026)DToulouse 2 - 2 Monaco (25-04-2026)LLens 3 - 2 Toulouse (17-04-2026)LToulouse 0 - 4 Lille (12-04-2026)
11 Paris FC 33 41 45 49 -4 LRennes 2 - 1 Paris FC (10-05-2026)WParis FC 4 - 0 Stade Brestois 29 (03-05-2026)LParis FC 0 - 1 Lille (26-04-2026)WMetz 1 - 3 Paris FC (19-04-2026)WParis FC 4 - 1 Monaco (10-04-2026)
12 Stade Brestois 29 33 38 42 54 -12 LStade Brestois 29 1 - 2 Strasbourg (13-05-2026)LParis Saint Germain 1 - 0 Stade Brestois 29 (10-05-2026)LParis FC 4 - 0 Stade Brestois 29 (03-05-2026)DStade Brestois 29 3 - 3 Lens (24-04-2026)DNantes 1 - 1 Stade Brestois 29 (19-04-2026)
13 Angers 33 35 28 47 -19 DAngers 1 - 1 Strasbourg (10-05-2026)LAuxerre 3 - 1 Angers (03-05-2026)LAngers 0 - 3 Paris Saint Germain (25-04-2026)DAngers 1 - 1 Le Havre (18-04-2026)LRennes 2 - 1 Angers (11-04-2026)
14 Le Havre 33 32 30 44 -14 LLe Havre 0 - 1 Marseille (10-05-2026)DLille 1 - 1 Le Havre (03-05-2026)DLe Havre 4 - 4 Metz (26-04-2026)DAngers 1 - 1 Le Havre (18-04-2026)DNice 1 - 1 Le Havre (12-04-2026)
15 Auxerre 33 31 32 44 -12 WAuxerre 2 - 1 Nice (10-05-2026)WAuxerre 3 - 1 Angers (03-05-2026)LLyon 3 - 2 Auxerre (25-04-2026)DMonaco 2 - 2 Auxerre (19-04-2026)DAuxerre 0 - 0 Nantes (11-04-2026)
16 Nice 33 31 37 60 -23 LAuxerre 2 - 1 Nice (10-05-2026)DNice 1 - 1 Lens (02-05-2026)DMarseille 1 - 1 Nice (26-04-2026)DLille 0 - 0 Nice (18-04-2026)DNice 1 - 1 Le Havre (12-04-2026)
17 Nantes 33 23 29 52 -23 LLens 1 - 0 Nantes (08-05-2026)WNantes 3 - 0 Marseille (02-05-2026)LRennes 2 - 1 Nantes (26-04-2026)LParis Saint Germain 3 - 0 Nantes (22-04-2026)DNantes 1 - 1 Stade Brestois 29 (19-04-2026)
18 Metz 33 16 32 76 -44 LMetz 0 - 4 Lorient (10-05-2026)LMetz 1 - 2 Monaco (02-05-2026)DLe Havre 4 - 4 Metz (26-04-2026)LMetz 1 - 3 Paris FC (19-04-2026)LMarseille 3 - 1 Metz (10-04-2026)
19 Rodez 2 4 3 2 +1 DSaint Etienne 0 - 0 (PEN 7-6) Rodez (15-05-2026)WRED Star FC 93 2 - 3 Rodez (12-05-2026)
20 Saint Etienne 1 1 0 0 0 DSaint Etienne 0 - 0 (PEN 7-6) Rodez (15-05-2026)
21 RED Star FC 93 1 0 2 3 -1 LRED Star FC 93 2 - 3 Rodez (12-05-2026)
20 Saint Etienne 1 pts
P: 1 GD: 0
21 RED Star FC 93 0 pts
P: 1 GD: -1