Ligue 1 Regular Season - 26

Paris Saint Germain 3 - 0 FT Nantes

Parc des Princes

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

Futmetrix Verdict
63
FT
Wed, Apr 22
Français
Paris Saint Germain
3-0
Nantes
⚡ Intensity 60
⚖️ Balance 12
🏆 Stakes 82
🎲 Upset 0
PSG cruise past struggling Nantes 3-0.

Kvaratskhelia's Masterclass Punishes Relegation-Threatened Nantes

Worth Watching Futmetrix Score: 63/100. A ruthless display by the league leaders exposed the grim reality of Nantes' fight for survival, turning a potential upset into a routine dismantling.

Early Warning Signs

The Stakes were towering as Paris Saint Germain welcomed Nantes to the Parc des Princes. The hosts immediately dominated possession, starving the visitors of the ball and establishing a relentless tempo. The deadlock didn't last long. In the 13th minute, Khvicha Kvaratskhelia converted a penalty with devastating calm to shatter the away side's defensive blueprint. Despite the early setback, Nantes showed flashes of defiance. The Upset Factor briefly flickered into life when Louis Leroux thought he had equalised at the 22-minute mark, only for VAR to rule the strike out for a marginal offside. That near-miss served as a sharp wake-up call for the home side.

Closing the Door

With the warning fully heeded, the Parisians shifted gears and ramped up the Intensity. A barrage of 24 combined shots turned the penalty areas into combat zones, fueled further by overwhelming corner pressure. Nantes tried desperately to find an Balance on the counter-attack, but they simply couldn't cope with the overlapping runs and slick passing. In the 37th minute, Achraf Hakimi drove forward and found Désiré Doué, who fired home a clinical strike to double the advantage before the break. That second goal was the definitive turning point, breaking the visitors' fragile resolve and ensuring the second half would be an exercise in damage limitation.

Cruising to the Finish

Any lingering hopes for the struggling visitors evaporated just five minutes after the restart. Ousmane Dembélé turned provider, picking out Kvaratskhelia to secure his hero brace and put the match entirely out of reach. From there, the league leaders simply strolled to the final whistle, maintaining a vice-like grip on the match with 70% of the ball. The 3-0 victory emphatically cements their spot at the summit, keeping the French title race firmly in their hands. Meanwhile, this bruising encounter leaves Nantes rooted to 17th place, staring down the barrel of a grim relegation battle with nine points now separating them from safety.

Key Questions

What made Khvicha Kvaratskhelia the Man of the Match?

He opened the scoring from the spot and added a clinical second half strike, proving completely unplayable for the Nantes defence all afternoon.

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

This routine victory reinforces their grip on first place, demonstrating exactly why they are the overwhelming favourites to retain the title.

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
70%
30%
Paris Saint Germain 70%
Nantes 30%
Shots
14
10
Paris Saint Germain 14
Nantes 10
Shots on Target
6
3
Paris Saint Germain 6
Nantes 3
Expected Goals (xG)
2.16
0.82
Paris Saint Germain 2.16
Nantes 0.82
Passes
714
288
Paris Saint Germain 714
Nantes 288
Pass Accuracy
90%
79%
Paris Saint Germain 90%
Nantes 79%
Corners
7
6
Paris Saint Germain 7
Nantes 6
Fouls
10
7
Paris Saint Germain 10
Nantes 7
Yellow Cards
2
1
Paris Saint Germain 2
Nantes 1
Red Cards
0
0
Paris Saint Germain 0
Nantes 0

Match Events

L. Leroux 22'
35' 🟨 W. Zaire-Emery
37' D. Doue (A. Hakimi)
41' 🟨 I. Zabarnyi
HT
F. Guilbert 🟨 46'
50' K. Kvaratskhelia (O. Dembele)
60' 🔄 J. Neves F. Ruiz
60' 🔄 A. Hakimi L. Hernandez
60' 🔄 W. Zaire-Emery S. Mayulu
L. Leroux D. Tabibou 🔄 65'
Mostafa Mohamed I. Ganago 🔄 65'
65' 🔄 K. Kvaratskhelia I. Mbaye
65' 🔄 O. Dembele B. Barcola
J. Lepenant B. Deuff 🔄 73'
M. Acapandie C. Awaziem 🔄 79'
M. Abline Y. El Arabi 🔄 80'
FT

Player Cards

Our take on every player in this match

Paris Saint Germain

Goalkeepers
Matvey Safonov
GHOST
GHOST
8
Actions
8
Actions
91
Minutes
7.2
Rating
Defenders
Achraf Hakimi
PROVIDER
PROVIDER
1
Assists
1
Assists
1
Key Passes
7.3
Rating
Marquinhos
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
91
Total Mins
Started
Entry
Ilya Zabarnyi
MAGNET
MAGNET
86
Activity
86
Activity
83
Passes
3
Duels
Warren Zaïre-Emery
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
60
Total Mins
60
Entry
Midfielders
João Neves
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
60
Total Mins
60
Entry
Lucas Beraldo
ARCHITECT
ARCHITECT
3
Key Passes
3
Key Passes
0
Assists
45%
Pass Acc
Dro Fernández
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
91
Total Mins
Started
Entry
Forwards
Désiré Doué
SNIPER
SNIPER
100%
Conversion
100%
Conversion
1
Goals
1
Shots
Ousmane Dembélé
ARCHITECT
ARCHITECT
3
Key Passes
3
Key Passes
1
Assists
33%
Pass Acc
Khvicha Kvaratskhelia
HITMAN
HITMAN
2
Goals
2
Goals
3
On Target
9.3
Rating
BENCH
Lucas Chevalier
SPECTATOR
SPECTATOR
0
Saves
0
Saves
0
Conceded
0
Minutes
Lucas Hernandez
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
31
Total Mins
Started
Entry
Willian Pacho
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
0
Total Mins
Started
Entry
Fabián Ruiz
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
31
Total Mins
Started
Entry
Senny Mayulu
STORMTROOPER
STORMTROOPER
2
Shots
2
Shots
0
Goals
0
On Target
Kang-in Lee
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
0
Total Mins
Started
Entry
Bradley Barcola
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
26
Total Mins
Started
Entry
Ibrahim Mbaye
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
26
Total Mins
Started
Entry
Gonçalo Ramos
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
0
Total Mins
Started
Entry

Nantes

Goalkeepers
Anthony Lopes
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
91
Total Mins
Started
Entry
Defenders
Mathieu Acapandié
ARCHITECT
ARCHITECT
2
Key Passes
2
Key Passes
0
Assists
13%
Pass Acc
Frederic Guilbert
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
91
Total Mins
Started
Entry
Ali Youssef
FRIENDLY FIRE
FRIENDLY FIRE
Pen Given
Mistake
Pen Given
Mistake
1
Fouls
6.5
Rating
Nicolas Cozza
PROVOCATEUR
PROVOCATEUR
2
Fouls Won
2
Fouls Won
4
Duels Won
0
Pens Won
Deiver Machado
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
91
Total Mins
Started
Entry
Midfielders
Johann Lepenant
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
73
Total Mins
73
Entry
Ibrahima Sissoko
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
91
Total Mins
Started
Entry
Louis Leroux
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
65
Total Mins
65
Entry
Forwards
Mostafa Mohamed
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
65
Total Mins
65
Entry
Matthis Abline
LATE SHIFT
LATE SHIFT
10
Late Mins
10
Late Mins
80
Total Mins
80
Entry
BENCH
Patrik Carlgren
SPECTATOR
SPECTATOR
0
Saves
0
Saves
0
Conceded
0
Minutes
Sékou Doucoure
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
0
Total Mins
Started
Entry
Uros Radakovic
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
0
Total Mins
Started
Entry
Chidozie Awaziem
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
12
Total Mins
Started
Entry
Dehmaine Tabibou
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
26
Total Mins
Started
Entry
Bahmed Deuff
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
18
Total Mins
Started
Entry
Ignatius Ganago
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
26
Total Mins
Started
Entry
Youssef El Arabi
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
11
Total Mins
Started
Entry
Bahereba Guirassy
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
0
Total Mins
Started
Entry

Head to Head

Date Home Score Away Competition Venue
08/17/2025 Nantes 0 - 1 Paris Saint Germain Ligue 1 Stade de la Beaujoire
04/22/2025 Nantes 1 - 1 Paris Saint Germain Ligue 1 Stade de la Beaujoire - Louis Fonteneau
11/30/2024 Paris Saint Germain 1 - 1 Nantes Ligue 1 Parc des Princes
02/17/2024 Nantes 0 - 2 Paris Saint Germain Ligue 1 Stade de la Beaujoire - Louis Fonteneau
12/09/2023 Paris Saint Germain 2 - 1 Nantes Ligue 1 Parc des Princes
03/04/2023 Paris Saint Germain 4 - 2 Nantes Ligue 1 Parc des Princes
09/03/2022 Nantes 0 - 3 Paris Saint Germain Ligue 1 Stade de la Beaujoire - Louis Fonteneau
07/31/2022 Paris Saint Germain 4 - 0 Nantes Trophée des Champions Bloomfield Stadium
02/19/2022 Nantes 3 - 1 Paris Saint Germain Ligue 1 Stade de la Beaujoire - Louis Fonteneau
11/20/2021 Paris Saint Germain 3 - 1 Nantes Ligue 1 Parc des Princes
08/17/2025
Ligue 1 Stade de la Beaujoire
04/22/2025
Ligue 1 Stade de la Beaujoire - Louis Fonteneau
11/30/2024
Ligue 1 Parc des Princes
02/17/2024
Ligue 1 Stade de la Beaujoire - Louis Fonteneau
12/09/2023
Ligue 1 Parc des Princes
03/04/2023
Ligue 1 Parc des Princes
09/03/2022
Ligue 1 Stade de la Beaujoire - Louis Fonteneau
07/31/2022
Trophée des Champions Bloomfield Stadium
02/19/2022
Ligue 1 Stade de la Beaujoire - Louis Fonteneau
11/20/2021
Ligue 1 Parc des Princes
Paris Saint Germain Win
Nantes Win
Draw

League Standings

Pos Team P Pts GF GA GD Form
1 Paris Saint Germain 25 57 54 22 +32 LParis Saint Germain 1 - 3 Monaco (06-03-2026)WLe Havre 0 - 1 Paris Saint Germain (28-02-2026)WParis Saint Germain 3 - 0 Metz (21-02-2026)LRennes 3 - 1 Paris Saint Germain (13-02-2026)WParis Saint Germain 5 - 0 Marseille (08-02-2026)
2 Lens 26 56 49 23 +26 LLorient 2 - 1 Lens (14-03-2026)WLens 3 - 0 Metz (08-03-2026)DStrasbourg 1 - 1 Lens (27-02-2026)LLens 2 - 3 Monaco (21-02-2026)WParis FC 0 - 5 Lens (14-02-2026)
3 Marseille 26 49 53 33 +20 WMarseille 1 - 0 Auxerre (13-03-2026)WToulouse 0 - 1 Marseille (07-03-2026)WMarseille 3 - 2 Lyon (01-03-2026)LStade Brestois 29 2 - 0 Marseille (20-02-2026)DMarseille 2 - 2 Strasbourg (14-02-2026)
4 Lyon 26 47 40 27 +13 DLe Havre 0 - 0 Lyon (15-03-2026)DLyon 1 - 1 Paris FC (08-03-2026)LMarseille 3 - 2 Lyon (01-03-2026)LStrasbourg 3 - 1 Lyon (22-02-2026)WLyon 2 - 0 Nice (15-02-2026)
5 Lille 26 44 40 33 +7 WRennes 1 - 2 Lille (15-03-2026)DLille 1 - 1 Lorient (08-03-2026)WLille 1 - 0 Nantes (01-03-2026)WAngers 0 - 1 Lille (22-02-2026)DLille 1 - 1 Stade Brestois 29 (14-02-2026)
6 Monaco 26 43 45 37 +8 WMonaco 2 - 0 Stade Brestois 29 (14-03-2026)WParis Saint Germain 1 - 3 Monaco (06-03-2026)WMonaco 2 - 0 Angers (28-02-2026)WLens 2 - 3 Monaco (21-02-2026)WMonaco 3 - 1 Nantes (13-02-2026)
7 Rennes 26 43 43 37 +6 LRennes 1 - 2 Lille (15-03-2026)WNice 0 - 4 Rennes (08-03-2026)WRennes 1 - 0 Toulouse (28-02-2026)WAuxerre 0 - 3 Rennes (22-02-2026)WRennes 3 - 1 Paris Saint Germain (13-02-2026)
8 Strasbourg 26 37 40 31 +9 DStrasbourg 0 - 0 Paris FC (15-03-2026)DAuxerre 0 - 0 Strasbourg (07-03-2026)DStrasbourg 1 - 1 Lens (27-02-2026)WStrasbourg 3 - 1 Lyon (22-02-2026)DMarseille 2 - 2 Strasbourg (14-02-2026)
9 Lorient 26 37 37 40 -3 WLorient 2 - 1 Lens (14-03-2026)DLille 1 - 1 Lorient (08-03-2026)DLorient 2 - 2 Auxerre (01-03-2026)DNice 3 - 3 Lorient (22-02-2026)WLorient 2 - 0 Angers (15-02-2026)
10 Stade Brestois 29 26 36 34 36 -2 LMonaco 2 - 0 Stade Brestois 29 (14-03-2026)WStade Brestois 29 2 - 0 Le Havre (08-03-2026)WMetz 0 - 1 Stade Brestois 29 (01-03-2026)WStade Brestois 29 2 - 0 Marseille (20-02-2026)DLille 1 - 1 Stade Brestois 29 (14-02-2026)
11 Toulouse 26 34 37 32 +5 WMetz 3 - 4 Toulouse (15-03-2026)LToulouse 0 - 1 Marseille (07-03-2026)LRennes 1 - 0 Toulouse (28-02-2026)DToulouse 1 - 1 Paris FC (21-02-2026)LLe Havre 2 - 1 Toulouse (15-02-2026)
12 Angers 26 32 23 32 -9 LAngers 0 - 2 Nice (14-03-2026)WNantes 0 - 1 Angers (07-03-2026)LMonaco 2 - 0 Angers (28-02-2026)LAngers 0 - 1 Lille (22-02-2026)LLorient 2 - 0 Angers (15-02-2026)
13 Paris FC 26 28 29 41 -12 DStrasbourg 0 - 0 Paris FC (15-03-2026)DLyon 1 - 1 Paris FC (08-03-2026)WParis FC 1 - 0 Nice (01-03-2026)DToulouse 1 - 1 Paris FC (21-02-2026)LParis FC 0 - 5 Lens (14-02-2026)
14 Le Havre 26 27 20 32 -12 DLe Havre 0 - 0 Lyon (15-03-2026)LStade Brestois 29 2 - 0 Le Havre (08-03-2026)LLe Havre 0 - 1 Paris Saint Germain (28-02-2026)LNantes 2 - 0 Le Havre (22-02-2026)WLe Havre 2 - 1 Toulouse (15-02-2026)
15 Nice 26 27 32 48 -16 WAngers 0 - 2 Nice (14-03-2026)LNice 0 - 4 Rennes (08-03-2026)LParis FC 1 - 0 Nice (01-03-2026)DNice 3 - 3 Lorient (22-02-2026)LLyon 2 - 0 Nice (15-02-2026)
16 Auxerre 26 19 19 36 -17 LMarseille 1 - 0 Auxerre (13-03-2026)DAuxerre 0 - 0 Strasbourg (07-03-2026)DLorient 2 - 2 Auxerre (01-03-2026)LAuxerre 0 - 3 Rennes (22-02-2026)WMetz 1 - 3 Auxerre (15-02-2026)
17 Nantes 25 17 22 42 -20 LNantes 0 - 1 Angers (07-03-2026)LLille 1 - 0 Nantes (01-03-2026)WNantes 2 - 0 Le Havre (22-02-2026)LMonaco 3 - 1 Nantes (13-02-2026)LNantes 0 - 1 Lyon (07-02-2026)
18 Metz 26 13 25 60 -35 LMetz 3 - 4 Toulouse (15-03-2026)LLens 3 - 0 Metz (08-03-2026)LMetz 0 - 1 Stade Brestois 29 (01-03-2026)LParis Saint Germain 3 - 0 Metz (21-02-2026)LMetz 1 - 3 Auxerre (15-02-2026)