Ligue 1 Regular Season - 23

Nantes 2 - 0 FT Le Havre

Stade de la Beaujoire

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

Futmetrix Verdict
32
FT
Sun, Feb 22
Français
Nantes
2-0
Le Havre
⚡ Intensity 39
⚖️ Balance 13
🏆 Stakes 0
🎲 Upset 0
Nantes end losing streak with clinical win.

Clinical Nantes Punish Toothless Le Havre

Skip It Futmetrix Score: 32/100. A desperate side finally found its clinical edge, turning minimal opportunities into a vital lifeline in the relegation battle.

Opening Act

The atmosphere at Stade de la Beaujoire was thick with tension as Nantes looked to arrest a disastrous run of form. They didn't have to wait long for a gift. In just the 3rd minute, a defensive mix-up led to Y. Zouaoui turning the ball into his own net, sending the home crowd into raptures. The Intensity rating remained modest throughout the half, as Nantes were content to sit deep and protect their lead. This early breakthrough completely altered the tactical landscape, forcing the visitors to chase the game while allowing the hosts to focus on structural discipline after weeks of leaking goals.

The Pivot

While Le Havre dominated the ball, they lacked the "Sniper" edge required to breach the yellow wall. The game's defining moment arrived in the 34th minute when a penalty was awarded to the hosts. I. Ganago stepped up and coolly slotted home to make it 2-0. This doubled the advantage and shifted the Balance of power firmly toward the Canaries. Despite having nearly three-quarters of the possession, the visitors looked shell-shocked. Nantes’ efficiency was the story of the half; they had only two shots on target all match, and both resulted in goals, showcasing a ruthless streak that had been absent for months.

Resolution

The second half was a lesson in frustration for the visitors. They finished with a staggering 71% possession but failed to record a single shot on target. The Stakes were high for Nantes, who are fighting for their Ligue 1 lives, and they defended their box with newfound desperation. Eleven corners for Le Havre provided some set-piece pressure, but the home defense remained resolute. This result snaps a five-game losing streak for Nantes and provides a massive psychological boost. For Le Havre, it was a toothless display that highlights their struggles to convert territorial dominance into genuine scoring threats.

Key Questions

How did the early own goal change the dynamic of the match?

Zouaoui's 3rd-minute own goal allowed Nantes to sit back and defend their lead, frustrating Le Havre's possession-heavy style.

Was Le Havre's possession dominance effective?

No. Despite having 71% possession, Le Havre failed to register a single shot on target the entire match.

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
29%
71%
Nantes 29%
Le Havre 71%
Shots
8
6
Nantes 8
Le Havre 6
Shots on Target
2
0
Nantes 2
Le Havre 0
Expected Goals (xG)
1.27
0.49
Nantes 1.27
Le Havre 0.49
Passes
200
506
Nantes 200
Le Havre 506
Pass Accuracy
64%
85%
Nantes 64%
Le Havre 85%
Corners
5
6
Nantes 5
Le Havre 6
Fouls
17
12
Nantes 17
Le Havre 12
Yellow Cards
4
3
Nantes 4
Le Havre 3
Red Cards
0
0
Nantes 0
Le Havre 0

Match Events

3' Y. Zouaoui
14' 🟨 F. Centonze
L. Gourna-Douath 🟨 32'
34' I. Ganago
HT
F. Doucoure K. Quetant 🔄 46'
T. Pembele A. Samatta 🔄 46'
46' 🔄 D. Machado D. Tabibou
53' 🔄 I. Ganago B. Guirassy
Y. Zouaoui E. K. Vinette 🔄 62'
S. Boufal Y. Kechta 🔄 63'
63' 🟨 Ali Youssef
65' 🟨 N. Cozza
78' 🟨 D. Tabibou
81' 🔄 L. Leroux F. Coquelin
Y. Kechta 🟨 82'
E. K. Vinette 🟨 90'+1
FT

Player Cards

Our take on every player in this match

Nantes

Goalkeepers
Anthony Lopes
SPECTATOR
SPECTATOR
0
Saves
0
Saves
0
Conceded
94
Minutes
Defenders
Chidozie Awaziem
STORMTROOPER
STORMTROOPER
1
Shots
1
Shots
0
Goals
0
On Target
Ali Youssef
GHOST
GHOST
9
Actions
9
Actions
94
Minutes
6.9
Rating
Nicolas Cozza
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
94
Total Mins
Started
Entry
Midfielders
Fabien Centonze
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
94
Total Mins
Started
Entry
Johann Lepenant
PROVOCATEUR
PROVOCATEUR
5
Fouls Won
5
Fouls Won
9
Duels Won
0
Pens Won
Mohamed Kaba
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
94
Total Mins
Started
Entry
Louis Leroux
LATE SHIFT
LATE SHIFT
9
Late Mins
9
Late Mins
81
Total Mins
81
Entry
Deiver Machado
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
45
Total Mins
46
Entry
Forwards
Youssef El Arabi
MAGNET
MAGNET
57
Activity
57
Activity
33
Passes
24
Duels
Ignatius Ganago
SNIPER
SNIPER
100%
Conversion
100%
Conversion
1
Goals
1
Shots
BENCH
Patrik Carlgren
SPECTATOR
SPECTATOR
0
Saves
0
Saves
0
Conceded
0
Minutes
Frédéric Guilbert
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
0
Total Mins
Started
Entry
Tylel Tati
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
0
Total Mins
Started
Entry
Dehmaine Tabibou
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
49
Total Mins
Started
Entry
Ibrahima Sissoko
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
0
Total Mins
Started
Entry
Francis Coquelin
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
13
Total Mins
Started
Entry
Rémy Cabella
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
0
Total Mins
Started
Entry
Bahereba Guirassy
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
41
Total Mins
Started
Entry
Mostafa Mohamed
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
0
Total Mins
Started
Entry

Le Havre

Goalkeepers
Mory Diaw
SIEVE
SIEVE
33%
Save %
33%
Save %
2
Conceded
1
Saves
Defenders
Loic Négo
ARCHITECT
ARCHITECT
2
Key Passes
2
Key Passes
0
Assists
66%
Pass Acc
Timothee Pembele
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
45
Total Mins
46
Entry
Gautier Lloris
WALL
WALL
0
Dribbled Past
0
Dribbled Past
2
Tackles
57%
Duel Win %
Yanis Zouaoui
FRIENDLY FIRE
FRIENDLY FIRE
Own Goal
Mistake
Own Goal
Mistake
0
Fouls
6
Rating
Midfielders
Simon Ebonog
PROVOCATEUR
PROVOCATEUR
4
Fouls Won
4
Fouls Won
13
Duels Won
0
Pens Won
Lucas Gourna-Douath
FRIENDLY FIRE
FRIENDLY FIRE
Pen Given
Mistake
Pen Given
Mistake
3
Fouls
6.5
Rating
Rassoul Ndiaye
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
94
Total Mins
Started
Entry
Forwards
Fodé Doucouré
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
45
Total Mins
46
Entry
Issa Soumaré
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
94
Total Mins
Started
Entry
Sofiane Boufal
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
63
Total Mins
63
Entry
BENCH
Lionel M'Pasi
SPECTATOR
SPECTATOR
0
Saves
0
Saves
0
Conceded
0
Minutes
Yassine Kechta
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
31
Total Mins
Started
Entry
Daren Nbenbege Mosengo
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
0
Total Mins
Started
Entry
Mbwana Ally Samatta
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
49
Total Mins
Started
Entry
Kenny Quetant
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
49
Total Mins
Started
Entry
Enzo Koffi
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
32
Total Mins
Started
Entry
Godson Kyeremeh
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
0
Total Mins
Started
Entry
Noam Obougou Jacquet
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
0
Total Mins
Started
Entry
Felix Mambimbi
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/11/2025 Le Havre 1 - 1 Nantes Ligue 1 Stade Océane
30/03/2025 Le Havre 3 - 2 Nantes Ligue 1 Stade Océane
24/11/2024 Nantes 0 - 2 Le Havre Ligue 1 Stade de la Beaujoire - Louis Fonteneau
14/04/2024 Le Havre 0 - 1 Nantes Ligue 1 Stade Océane
26/11/2023 Nantes 0 - 0 Le Havre Ligue 1 Stade de la Beaujoire - Louis Fonteneau
15/08/2020 Nantes 3 - 1 Le Havre Friendlies Clubs Stade Moreau Défarges
23/02/2013 Nantes 2 - 0 Le Havre Ligue 2 Stade de la Beaujoire - Louis Fonteneau (Nantes)
21/09/2012 Le Havre 1 - 1 Nantes Ligue 2 Stade Océane (Le Havre)
05/03/2012 Nantes 1 - 0 Le Havre Ligue 2 Stade de la Beaujoire - Louis Fonteneau (Nantes)
01/10/2011 Le Havre 1 - 1 Nantes Ligue 2 Stade Municipal Jules Deschaseaux (Le Havre)
08/11/2025
Ligue 1 Stade Océane
30/03/2025
Ligue 1 Stade Océane
24/11/2024
Ligue 1 Stade de la Beaujoire - Louis Fonteneau
14/04/2024
Ligue 1 Stade Océane
26/11/2023
Ligue 1 Stade de la Beaujoire - Louis Fonteneau
15/08/2020
Friendlies Clubs Stade Moreau Défarges
23/02/2013
Ligue 2 Stade de la Beaujoire - Louis Fonteneau (Nantes)
21/09/2012
Ligue 2 Stade Océane (Le Havre)
05/03/2012
Ligue 2 Stade de la Beaujoire - Louis Fonteneau (Nantes)
01/10/2011
Ligue 2 Stade Municipal Jules Deschaseaux (Le Havre)
Nantes Win
Le Havre Win
Draw

League Standings

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