Ligue 1 Regular Season - 20

Lens 1 - 0 FT Le Havre

Stade Bollaert-Delelis

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

Futmetrix Verdict
37
FT
Fri, Jan 30
Français
Lens
1-0
Le Havre
⚡ Intensity 22
⚖️ Balance 20
🏆 Stakes 67
🎲 Upset 0
Aguilar strike keeps Lens on top.

Lens Cement Top Spot with Grit

Average Entertainment Futmetrix Score: 37/100. A solitary strike from Aguilar ensured Lens maintained their grip on the summit while leaving Le Havre's survival hopes hanging by a thread.

The Opening Act

Lens dominated the narrative at the Stade Bollaert-Delelis, though the scoreline remained dangerously thin throughout the evening. From the outset, the home side looked to assert their dominance at the top of the Ligue 1 table, testing the resolve of a Le Havre side desperately fighting for their top-flight status. The Balance of the match was heavily tilted towards the hosts, who edged possession with 54% of the ball. Matthieu Udol was a constant menace on the flank, recording three key passes as he searched for a breakthrough. Despite a barrage of 15 shots, the league leaders struggled to find the "Sniper" edge early on, as the visitors sat deep and absorbed the pressure with a disciplined low block that frustrated the partisan crowd.

The Pivot

The Intensity of the encounter reached its peak just as the fourth official signaled for first-half stoppage time. It was a moment of tactical perfection that finally broke the deadlock. Udol turned provider, delivering a pinpoint ball that found Ruben Aguilar in a high-traffic area. The finish was clinical, finding the back of the net in the 45th minute to send the home support into raptures. This goal fundamentally shifted the Stakes, forcing Le Havre to abandon their defensive shell. For Aguilar, the strike was a reward for a high-energy performance that saw him dictate play from midfield, ensuring the league leaders did not enter the interval with the anxiety of a stalemate hanging over them. The timing of the goal served as a psychological blow from which the visitors struggled to recover.

The Resolution

The second half was a story of survival and VAR-induced tension. Lens thought they had doubled their advantage in the 66th minute when A. Thomasson found the net, but a video review for handball quickly dampened the celebrations. Le Havre attempted to manufacture an Upset, launching several late incursions into the final third, but they were met by the impenetrable Robin Risser. The Lens goalkeeper was composed throughout, making two crucial saves to preserve the clean sheet. As the final whistle blew, the relief at the Stade Bollaert-Delelis was palpable. The 1-0 victory keeps Lens firmly in the title race, while Le Havre remain mired in a relegation battle, still searching for the form required to pull away from the drop zone. Lens proved that even when not at their free-flowing best, they possess the championship mettle to grind out vital results.

Key Questions

What does this mean for Lens's season?

This victory cements Lens's position at the top of Ligue 1, maintaining their title charge and keeping their momentum alive during a crucial stage of the campaign.

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
54%
46%
Lens 54%
Le Havre 46%
Shots
15
8
Lens 15
Le Havre 8
Shots on Target
3
2
Lens 3
Le Havre 2
Expected Goals (xG)
2.14
0.47
Lens 2.14
Le Havre 0.47
Passes
467
401
Lens 467
Le Havre 401
Pass Accuracy
85%
78%
Lens 85%
Le Havre 78%
Corners
4
3
Lens 4
Le Havre 3
Fouls
19
10
Lens 19
Le Havre 10
Yellow Cards
1
2
Lens 1
Le Havre 2
Red Cards
0
0
Lens 0
Le Havre 0

Match Events

45'+1 R. Aguilar (M. Udol)
HT
S. Boufal 🟨 49'
A. Sangante D. N. Mosengo 🔄 59'
66' A. Thomasson
S. Boufal N. Obougou 🔄 69'
Y. Zouaoui T. Pembele 🔄 70'
75' 🔄 O. Edouard R. Fofana
L. Gourna-Douath 🟨 78'
L. Nego F. Doucoure 🔄 78'
S. Ebonog K. Quetant 🔄 90'+2
S. Zagadou F. Mambimbi 🔄 90'+3
90'+5 🔄 W. Said A. Sima
90'+5 🔄 F. Thauvin F. Sotoca
90'+7 🟨 K. Antonio
FT

Player Cards

Our take on every player in this match

Lens

Goalkeepers
Robin Risser
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
101
Total Mins
Started
Entry
Defenders
Kyllian Antonio
WALL
WALL
0
Dribbled Past
0
Dribbled Past
3
Tackles
70%
Duel Win %
Ismaelo Ganiou
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
101
Total Mins
Started
Entry
Malang Sarr
STORMTROOPER
STORMTROOPER
1
Shots
1
Shots
0
Goals
1
On Target
Midfielders
Ruben Aguilar
SNIPER
SNIPER
100%
Conversion
100%
Conversion
1
Goals
1
Shots
Mamadou Sangare
MAGNET
MAGNET
95
Activity
95
Activity
76
Passes
19
Duels
Adrien Thomasson
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
101
Total Mins
Started
Entry
Matthieu Udol
ARCHITECT
ARCHITECT
3
Key Passes
3
Key Passes
1
Assists
19%
Pass Acc
Forwards
Florian Thauvin
MAGNET
MAGNET
65
Activity
65
Activity
50
Passes
15
Duels
Wesley Saïd
DRIBBLER
DRIBBLER
3
Dribbles
3
Dribbles
3
Attempts
100%
Success %
Odsonne Édouard
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
75
Total Mins
75
Entry
BENCH
Mathieu Gorgelin
SPECTATOR
SPECTATOR
0
Saves
0
Saves
0
Conceded
0
Minutes
Nidal Čelik
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
0
Total Mins
Started
Entry
Saud Abdulhamid
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
0
Total Mins
Started
Entry
Anthony Bermont
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
0
Total Mins
Started
Entry
Andrija Bulatovic
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
0
Total Mins
Started
Entry
Amadou Haidara
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
0
Total Mins
Started
Entry
Rayan Fofana
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
26
Total Mins
Started
Entry
Abdallah Sima
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
6
Total Mins
Started
Entry
Florian Sotoca
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
6
Total Mins
Started
Entry

Le Havre

Goalkeepers
Lionel M'Pasi
PROVOCATEUR
PROVOCATEUR
1
Fouls Won
1
Fouls Won
1
Duels Won
0
Pens Won
Defenders
Stephan Zagadou
NPC
NPC
94
Minutes
94
Minutes
37%
Pass Acc
6.3
Rating
Ayumu Seko
STORMTROOPER
STORMTROOPER
1
Shots
1
Shots
0
Goals
0
On Target
Arouna Sangante
STORMTROOPER
STORMTROOPER
1
Shots
1
Shots
0
Goals
1
On Target
Midfielders
Loic Négo
LATE SHIFT
LATE SHIFT
12
Late Mins
12
Late Mins
78
Total Mins
78
Entry
Lucas Gourna-Douath
STORMTROOPER
STORMTROOPER
2
Shots
2
Shots
0
Goals
0
On Target
Simon Ebonog
PROVOCATEUR
PROVOCATEUR
3
Fouls Won
3
Fouls Won
8
Duels Won
0
Pens Won
Yanis Zouaoui
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
70
Total Mins
70
Entry
Forwards
Rassoul Ndiaye
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
101
Total Mins
Started
Entry
Issa Soumaré
PROVOCATEUR
PROVOCATEUR
3
Fouls Won
3
Fouls Won
10
Duels Won
0
Pens Won
Sofiane Boufal
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
69
Total Mins
69
Entry
BENCH
Mory Diaw
SPECTATOR
SPECTATOR
0
Saves
0
Saves
0
Conceded
0
Minutes
Timothee Pembele
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
31
Total Mins
Started
Entry
Fodé Doucouré
STORMTROOPER
STORMTROOPER
1
Shots
1
Shots
0
Goals
0
On Target
Daren Nbenbege Mosengo
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
42
Total Mins
Started
Entry
Yassine Kechta
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
32
Total Mins
Started
Entry
Godson Kyeremeh
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
0
Total Mins
Started
Entry
Kenny Quetant
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
8
Total Mins
Started
Entry
Felix Mambimbi
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
7
Total Mins
Started
Entry

Head to Head

Date Home Score Away Competition Venue
24/08/2025 Le Havre 1 - 2 Lens Ligue 1 Stade Océane
01/03/2025 Lens 3 - 4 Le Havre Ligue 1 Stade Bollaert-Delelis
12/01/2025 Le Havre 1 - 2 Lens Ligue 1 Stade Océane
06/04/2024 Lens 1 - 1 Le Havre Ligue 1 Stade Bollaert-Delelis
20/10/2023 Le Havre 0 - 0 Lens Ligue 1 Stade Océane
17/12/2022 Lens 3 - 0 Le Havre Friendlies Clubs Stade Bollaert-Delelis
24/08/2025
1 - 2
Ligue 1 Stade Océane
01/03/2025
3 - 4
Ligue 1 Stade Bollaert-Delelis
12/01/2025
1 - 2
Ligue 1 Stade Océane
06/04/2024
1 - 1
Ligue 1 Stade Bollaert-Delelis
20/10/2023
0 - 0
Ligue 1 Stade Océane
17/12/2022
3 - 0
Friendlies Clubs Stade Bollaert-Delelis
Lens Win
Le Havre Win
Draw

League Standings

Pos Team P Pts GF GA GD Form
1 Paris Saint Germain 20 48 43 16 +27 WStrasbourg 1 - 2 Paris Saint Germain (01-02-2026)WAuxerre 0 - 1 Paris Saint Germain (23-01-2026)WParis Saint Germain 3 - 0 Lille (16-01-2026)WParis Saint Germain 2 - 1 Paris FC (04-01-2026)WMetz 2 - 3 Paris Saint Germain (13-12-2025)
2 Lens 20 46 34 16 +18 WLens 1 - 0 Le Havre (30-01-2026)LMarseille 3 - 1 Lens (24-01-2026)WLens 1 - 0 Auxerre (17-01-2026)WToulouse 0 - 3 Lens (02-01-2026)WLens 2 - 0 Nice (14-12-2025)
3 Marseille 20 39 46 22 +24 DParis FC 2 - 2 Marseille (31-01-2026)WMarseille 3 - 1 Lens (24-01-2026)WAngers 2 - 5 Marseille (17-01-2026)LMarseille 0 - 2 Nantes (04-01-2026)WMarseille 1 - 0 Monaco (14-12-2025)
4 Lyon 20 39 33 20 +13 WLyon 1 - 0 Lille (01-02-2026)WMetz 2 - 5 Lyon (25-01-2026)WLyon 2 - 1 Stade Brestois 29 (18-01-2026)WMonaco 1 - 3 Lyon (03-01-2026)WLyon 1 - 0 Le Havre (14-12-2025)
5 Lille 20 32 34 30 +4 LLyon 1 - 0 Lille (01-02-2026)LLille 1 - 4 Strasbourg (25-01-2026)LParis Saint Germain 3 - 0 Lille (16-01-2026)LLille 0 - 2 Rennes (03-01-2026)WAuxerre 3 - 4 Lille (14-12-2025)
6 Rennes 20 31 30 31 -1 LMonaco 4 - 0 Rennes (31-01-2026)LRennes 0 - 2 Lorient (24-01-2026)DRennes 1 - 1 Le Havre (18-01-2026)WLille 0 - 2 Rennes (03-01-2026)WRennes 3 - 1 Stade Brestois 29 (13-12-2025)
7 Strasbourg 20 30 33 25 +8 LStrasbourg 1 - 2 Paris Saint Germain (01-02-2026)WLille 1 - 4 Strasbourg (25-01-2026)WStrasbourg 2 - 1 Metz (18-01-2026)DNice 1 - 1 Strasbourg (03-01-2026)DStrasbourg 0 - 0 Lorient (14-12-2025)
8 Toulouse 20 30 31 23 +8 DToulouse 0 - 0 Auxerre (01-02-2026)WStade Brestois 29 0 - 2 Toulouse (25-01-2026)WToulouse 5 - 1 Nice (17-01-2026)LToulouse 0 - 3 Lens (02-01-2026)WParis FC 0 - 3 Toulouse (13-12-2025)
9 Lorient 20 28 27 31 -4 WLorient 2 - 1 Nantes (31-01-2026)WRennes 0 - 2 Lorient (24-01-2026)WMonaco 1 - 3 Lorient (16-01-2026)DLorient 1 - 1 Metz (04-01-2026)DStrasbourg 0 - 0 Lorient (14-12-2025)
10 Monaco 20 27 32 33 -1 WMonaco 4 - 0 Rennes (31-01-2026)DLe Havre 0 - 0 Monaco (24-01-2026)LMonaco 1 - 3 Lorient (16-01-2026)LMonaco 1 - 3 Lyon (03-01-2026)LMarseille 1 - 0 Monaco (14-12-2025)
11 Angers 20 26 21 25 -4 WAngers 1 - 0 Metz (01-02-2026)DParis FC 0 - 0 Angers (25-01-2026)LAngers 2 - 5 Marseille (17-01-2026)LLe Havre 2 - 1 Angers (04-01-2026)WAngers 4 - 1 Nantes (12-12-2025)
12 Stade Brestois 29 20 23 26 33 -7 DNice 2 - 2 Stade Brestois 29 (01-02-2026)LStade Brestois 29 0 - 2 Toulouse (25-01-2026)LLyon 2 - 1 Stade Brestois 29 (18-01-2026)WStade Brestois 29 2 - 0 Auxerre (04-01-2026)LRennes 3 - 1 Stade Brestois 29 (13-12-2025)
13 Nice 20 22 27 38 -11 DNice 2 - 2 Stade Brestois 29 (01-02-2026)WNantes 1 - 4 Nice (25-01-2026)LToulouse 5 - 1 Nice (17-01-2026)DNice 1 - 1 Strasbourg (03-01-2026)LLens 2 - 0 Nice (14-12-2025)
14 Paris FC 20 21 26 34 -8 DParis FC 2 - 2 Marseille (31-01-2026)DParis FC 0 - 0 Angers (25-01-2026)WNantes 1 - 2 Paris FC (18-01-2026)LParis Saint Germain 2 - 1 Paris FC (04-01-2026)LParis FC 0 - 3 Toulouse (13-12-2025)
15 Le Havre 20 20 16 25 -9 LLens 1 - 0 Le Havre (30-01-2026)DLe Havre 0 - 0 Monaco (24-01-2026)DRennes 1 - 1 Le Havre (18-01-2026)WLe Havre 2 - 1 Angers (04-01-2026)LLyon 1 - 0 Le Havre (14-12-2025)
16 Nantes 20 14 19 36 -17 LLorient 2 - 1 Nantes (31-01-2026)LNantes 1 - 4 Nice (25-01-2026)LNantes 1 - 2 Paris FC (18-01-2026)WMarseille 0 - 2 Nantes (04-01-2026)LAngers 4 - 1 Nantes (12-12-2025)
17 Auxerre 20 13 14 29 -15 DToulouse 0 - 0 Auxerre (01-02-2026)LAuxerre 0 - 1 Paris Saint Germain (23-01-2026)LLens 1 - 0 Auxerre (17-01-2026)LStade Brestois 29 2 - 0 Auxerre (04-01-2026)LAuxerre 3 - 4 Lille (14-12-2025)
18 Metz 20 12 21 46 -25 LAngers 1 - 0 Metz (01-02-2026)LMetz 2 - 5 Lyon (25-01-2026)LStrasbourg 2 - 1 Metz (18-01-2026)DLorient 1 - 1 Metz (04-01-2026)LMetz 2 - 3 Paris Saint Germain (13-12-2025)