France

Ligue 1 2023/24 final table, results and top scorers

The 2023/24 season as it ended: the final table, every result by month and the player boards. History only, never a prediction.

Final table

Final table
#TeamPWDLGoalsGDPts
1Paris Saint-Germain342210281:33+4876
2Monaco34207768:42+2667
3Brest341710753:34+1961
4Lille341611752:34+1859
5Nice341510940:29+1155
6Lyon341651349:55−653
7Lens341491145:37+851
8Marseille3413111052:41+1150
9Reims341381342:47−547
10Rennes3412101253:46+746
11Toulouse3411101342:46−443
12Montpellier3410121243:48−542
13Strasbourg341091538:50−1239
14Nantes34961930:55−2533
15Le Havre347111634:45−1132
16Lorient34781943:66−2329
17Metz34852135:58−2329
18Clermont345101926:60−3425

League rounds only, 90 minutes: 3 points a win, then goal difference and goals scored.

Player boards

Top scorers

Player boards · Top scorers
#PlayerGoals
1Kylian Mbappé
Paris Saint-Germain
27
2Alexandre Lacazette
Lyon
19
3Jonathan David
Lille
19

Penalties scored

Player boards · Penalties scored
#PlayerGoals
1Benjamin Bourigeaud
Rennes
7
2Teji Savanier
Montpellier
7
3Kylian Mbappé
Paris Saint-Germain
6

Hat-tricks

Player boards · Hat-tricks
#PlayerHat-tricks
1Kylian Mbappé
Paris Saint-Germain
2
2Alexandre Lacazette
Lyon
1
3Jonathan David
Lille
1
4Kamory Doumbia
Brest
1
5Mahdi Camara
Brest
1

Yellow cards

Player boards · Yellow cards
#PlayerYellow
1Denis Zakaria
Monaco
13
2Pierre Lees Melou
Brest
12
3Facundo Medina
Lens
11
4Lilian Brassier
Brest
11

The season's records

Biggest win: Lorient 5–0 Clermont (19 May 2024)

Highest-scoring game: Rennes 4–5 Brest (28 Apr 2024)

All results

May 2024 · 27 matches
All results · May 2024
DateMatchScore
3 MayLens – Lorient2–0
3 MayToulouse – Montpellier1–2
4 MayBrest – Nantes0–0
4 MayLe Havre – Strasbourg3–1
4 MayMetz – Rennes2–3
4 MayMonaco – Clermont4–1
6 MayLille – Lyon3–4
10 MayBrest – Reims1–1
10 MayNice – Le Havre1–0
12 MayClermont – Lyon0–1
12 MayMarseille – Lorient3–1
12 MayMontpellier – Monaco0–2
12 MayNantes – Lille1–2
12 MayParis Saint-Germain – Toulouse1–3
12 MayRennes – Lens1–1
12 MayStrasbourg – Metz2–1
15 MayNice – Paris Saint-Germain1–2
15 MayReims – Marseille1–0
19 MayLe Havre – Marseille1–2
19 MayLens – Montpellier2–2
19 MayLille – Nice2–2
19 MayLorient – Clermont5–0
19 MayLyon – Strasbourg2–1
19 MayMetz – Paris Saint-Germain0–2
19 MayMonaco – Nantes4–0
19 MayReims – Rennes2–1
19 MayToulouse – Brest0–3
April 2024 · 36 matches
All results · April 2024
DateMatchScore
5 AprLille – Marseille3–1
6 AprLens – Le Havre1–1
6 AprParis Saint-Germain – Clermont1–1
7 AprBrest – Metz4–3
7 AprMonaco – Rennes1–0
7 AprMontpellier – Lorient2–0
7 AprNantes – Lyon1–3
7 AprReims – Nice0–0
7 AprToulouse – Strasbourg0–0
12 AprMetz – Lens2–1
13 AprRennes – Toulouse1–2
13 AprStrasbourg – Reims3–1
14 AprClermont – Montpellier1–1
14 AprLe Havre – Nantes0–1
14 AprLyon – Brest4–3
19 AprNice – Lorient3–0
20 AprLens – Clermont1–0
20 AprNantes – Rennes0–3
21 AprBrest – Monaco0–2
21 AprLe Havre – Metz0–1
21 AprLille – Strasbourg1–0
21 AprParis Saint-Germain – Lyon4–1
21 AprReims – Montpellier1–2
21 AprToulouse – Marseille2–2
24 AprLorient – Paris Saint-Germain1–4
24 AprMarseille – Nice2–2
24 AprMonaco – Lille1–0
26 AprMontpellier – Nantes1–1
27 AprParis Saint-Germain – Le Havre3–3
28 AprClermont – Reims4–1
28 AprLorient – Toulouse1–2
28 AprLyon – Monaco3–2
28 AprMarseille – Lens2–1
28 AprMetz – Lille1–2
28 AprRennes – Brest4–5
28 AprStrasbourg – Nice1–3
March 2024 · 36 matches
All results · March 2024
DateMatchScore
1 MarMonaco – Paris Saint-Germain0–0
2 MarClermont – Marseille1–5
2 MarReims – Lille0–1
3 MarBrest – Le Havre1–0
3 MarLyon – Lens0–3
3 MarMontpellier – Strasbourg2–2
3 MarNantes – Metz0–2
3 MarRennes – Lorient1–2
3 MarToulouse – Nice2–1
8 MarNice – Montpellier1–2
9 MarLens – Brest1–0
9 MarLorient – Lyon0–2
10 MarLe Havre – Toulouse1–0
10 MarLille – Rennes2–2
10 MarMarseille – Nantes2–0
10 MarMetz – Clermont1–0
10 MarParis Saint-Germain – Reims2–2
10 MarStrasbourg – Monaco0–1
15 MarToulouse – Lyon2–3
16 MarLens – Nice1–3
16 MarNantes – Strasbourg1–3
17 MarBrest – Lille1–1
17 MarClermont – Le Havre2–1
17 MarMonaco – Lorient2–2
17 MarMontpellier – Paris Saint-Germain2–6
17 MarReims – Metz2–1
17 MarRennes – Marseille2–0
29 MarLille – Lens2–1
30 MarLyon – Reims1–1
30 MarMetz – Monaco2–5
31 MarClermont – Toulouse0–3
31 MarLe Havre – Montpellier0–2
31 MarLorient – Brest0–1
31 MarMarseille – Paris Saint-Germain0–2
31 MarNice – Nantes1–2
31 MarStrasbourg – Rennes2–0
February 2024 · 36 matches
All results · February 2024
DateMatchScore
2 FebStrasbourg – Paris Saint-Germain1–2
3 FebNantes – Lens0–1
3 FebRennes – Montpellier2–1
4 FebBrest – Nice0–0
4 FebLille – Clermont4–0
4 FebLyon – Marseille1–0
4 FebMetz – Lorient1–2
4 FebMonaco – Le Havre1–1
4 FebReims – Toulouse2–3
9 FebMarseille – Metz1–1
10 FebLens – Strasbourg3–1
10 FebParis Saint-Germain – Lille3–1
11 FebClermont – Brest1–1
11 FebLe Havre – Rennes0–1
11 FebLorient – Reims2–0
11 FebMontpellier – Lyon1–2
11 FebNice – Monaco2–3
11 FebToulouse – Nantes1–2
16 FebLyon – Nice1–0
17 FebLille – Le Havre3–0
17 FebNantes – Paris Saint-Germain0–2
18 FebBrest – Marseille1–0
18 FebMonaco – Toulouse1–2
18 FebMontpellier – Metz3–0
18 FebReims – Lens1–1
18 FebRennes – Clermont3–1
18 FebStrasbourg – Lorient1–3
23 FebMetz – Lyon1–2
24 FebLorient – Nantes0–1
24 FebStrasbourg – Brest0–3
25 FebLe Havre – Reims1–2
25 FebLens – Monaco2–3
25 FebMarseille – Montpellier4–1
25 FebNice – Clermont0–0
25 FebParis Saint-Germain – Rennes1–1
25 FebToulouse – Lille3–1
January 2024 · 18 matches
All results · January 2024
DateMatchScore
12 JanMarseille – Strasbourg1–1
13 JanMonaco – Reims1–3
13 JanRennes – Nice2–0
14 JanBrest – Montpellier2–0
14 JanLe Havre – Lyon3–1
14 JanLens – Paris Saint-Germain0–2
14 JanLille – Lorient3–0
14 JanMetz – Toulouse0–1
14 JanNantes – Clermont1–2
26 JanLyon – Rennes2–3
27 JanMarseille – Monaco2–2
27 JanNice – Metz1–0
28 JanClermont – Strasbourg1–1
28 JanLorient – Le Havre3–3
28 JanMontpellier – Lille0–0
28 JanParis Saint-Germain – Brest2–2
28 JanReims – Nantes0–0
28 JanToulouse – Lens0–2
December 2023 · 38 matches
All results · December 2023
DateMatchScore
1 DecReims – Strasbourg2–1
2 DecLens – Lyon3–2
2 DecNantes – Nice1–0
3 DecBrest – Clermont3–0
3 DecLe Havre – Paris Saint-Germain0–2
3 DecLille – Metz2–0
3 DecMarseille – Rennes2–0
3 DecMonaco – Montpellier2–0
3 DecToulouse – Lorient1–1
6 DecMarseille – Lyon3–0
7 DecBrest – Strasbourg1–1
8 DecMontpellier – Lens0–0
9 DecParis Saint-Germain – Nantes2–1
9 DecRennes – Monaco1–2
10 DecClermont – Lille0–0
10 DecLorient – Marseille2–4
10 DecLyon – Toulouse3–0
10 DecMetz – Brest0–1
10 DecNice – Reims2–1
10 DecStrasbourg – Le Havre2–1
15 DecMonaco – Lyon0–1
16 DecLe Havre – Nice3–1
16 DecLens – Reims2–0
17 DecLille – Paris Saint-Germain1–1
17 DecLorient – Strasbourg1–2
17 DecMarseille – Clermont2–1
17 DecMetz – Montpellier0–1
17 DecNantes – Brest0–2
17 DecToulouse – Rennes0–0
20 DecBrest – Lorient4–0
20 DecClermont – Rennes1–3
20 DecLyon – Nantes1–0
20 DecMontpellier – Marseille1–1
20 DecNice – Lens2–0
20 DecParis Saint-Germain – Metz3–1
20 DecReims – Le Havre1–0
20 DecStrasbourg – Lille2–1
20 DecToulouse – Monaco1–2
November 2023 · 27 matches
All results · November 2023
DateMatchScore
3 NovParis Saint-Germain – Montpellier3–0
4 NovLorient – Lens0–0
4 NovMarseille – Lille0–0
5 NovLyon – Metz1–1
5 NovMonaco – Brest2–0
5 NovNantes – Reims0–1
5 NovNice – Rennes2–0
5 NovStrasbourg – Clermont0–0
5 NovToulouse – Le Havre1–2
10 NovMontpellier – Nice0–0
11 NovLe Havre – Monaco0–0
11 NovReims – Paris Saint-Germain0–3
12 NovClermont – Lorient1–0
12 NovLens – Marseille1–0
12 NovLille – Toulouse1–1
12 NovMetz – Nantes3–1
12 NovRennes – Lyon0–1
24 NovParis Saint-Germain – Monaco5–2
25 NovClermont – Lens0–3
25 NovStrasbourg – Marseille1–1
26 NovLorient – Metz2–3
26 NovLyon – Lille0–2
26 NovMontpellier – Brest1–3
26 NovNantes – Le Havre0–0
26 NovNice – Toulouse1–0
26 NovRennes – Reims3–1
29 NovMontpellier – Clermont1–1
October 2023 · 31 matches
All results · October 2023
DateMatchScore
1 OctLe Havre – Lille0–2
1 OctLorient – Montpellier0–3
1 OctNice – Brest0–0
1 OctReims – Lyon2–0
1 OctRennes – Nantes3–1
1 OctToulouse – Metz3–0
6 OctStrasbourg – Nantes1–2
7 OctMetz – Nice0–1
7 OctReims – Monaco1–3
8 OctBrest – Toulouse1–1
8 OctLens – Lille1–1
8 OctLyon – Lorient3–3
8 OctMarseille – Le Havre3–0
8 OctRennes – Paris Saint-Germain1–3
20 OctLe Havre – Lens0–0
21 OctNice – Marseille1–0
21 OctParis Saint-Germain – Strasbourg3–0
22 OctLille – Brest1–0
22 OctLorient – Rennes2–1
22 OctLyon – Clermont1–2
22 OctMonaco – Metz2–1
22 OctNantes – Montpellier2–0
22 OctToulouse – Reims1–1
27 OctClermont – Nice0–1
28 OctLens – Nantes4–0
28 OctReims – Lorient1–0
29 OctBrest – Paris Saint-Germain2–3
29 OctLille – Monaco2–0
29 OctMetz – Le Havre0–0
29 OctMontpellier – Toulouse3–0
29 OctRennes – Strasbourg1–1
September 2023 · 30 matches
All results · September 2023
DateMatchScore
1 SepNantes – Marseille1–1
2 SepBrest – Rennes0–0
2 SepMonaco – Lens3–0
3 SepLe Havre – Lorient3–0
3 SepLille – Montpellier1–0
3 SepLyon – Paris Saint-Germain1–4
3 SepMetz – Reims2–2
3 SepNice – Strasbourg2–0
3 SepToulouse – Clermont2–2
15 SepParis Saint-Germain – Nice2–3
16 SepLens – Metz0–1
16 SepRennes – Lille2–2
17 SepClermont – Nantes0–1
17 SepLorient – Monaco2–2
17 SepLyon – Le Havre0–0
17 SepMarseille – Toulouse0–0
17 SepReims – Brest1–2
17 SepStrasbourg – Montpellier2–2
22 SepMonaco – Nice0–1
23 SepBrest – Lyon1–0
23 SepNantes – Lorient5–3
24 SepLe Havre – Clermont2–1
24 SepLens – Toulouse2–1
24 SepMetz – Strasbourg0–1
24 SepMontpellier – Rennes0–0
24 SepParis Saint-Germain – Marseille4–0
26 SepLille – Reims1–2
29 SepStrasbourg – Lens0–1
30 SepClermont – Paris Saint-Germain0–0
30 SepMonaco – Marseille3–2
August 2023 · 27 matches
All results · August 2023
DateMatchScore
11 AugNice – Lille1–1
12 AugMarseille – Reims2–1
12 AugParis Saint-Germain – Lorient0–0
13 AugBrest – Lens3–2
13 AugClermont – Monaco2–4
13 AugMontpellier – Le Havre2–2
13 AugNantes – Toulouse1–2
13 AugRennes – Metz5–1
13 AugStrasbourg – Lyon2–1
18 AugMetz – Marseille2–2
19 AugLyon – Montpellier1–4
19 AugToulouse – Paris Saint-Germain1–1
20 AugLe Havre – Brest1–2
20 AugLens – Rennes1–1
20 AugLille – Nantes2–0
20 AugLorient – Nice1–1
20 AugMonaco – Strasbourg3–0
20 AugReims – Clermont2–0
25 AugNantes – Monaco3–3
26 AugMarseille – Brest2–0
26 AugParis Saint-Germain – Lens3–1
27 AugClermont – Metz0–1
27 AugLorient – Lille4–1
27 AugMontpellier – Reims1–3
27 AugNice – Lyon0–0
27 AugRennes – Le Havre2–2
27 AugStrasbourg – Toulouse2–0

League rounds, 90 minutes, by month.

Referees

Referees
RefereeMatches
Benoît Bastien19
Jérôme Brisard18
Clement Turpin17
H. Ben El Hadj17
Ruddy Buquet17
Willy Delajod17
Eric Wattellier16
Jeremy Stinat16
B. Dechepy15
Benoît Millot15
François Letexier15
Jeremie Pignard15
Thomas Léonard15
Marc Bollengier14
Stephanie Frappart14
Florent Batta13
Gael Angoula13
Mathieu Vernice13
Pierre Gaillouste13
Romain Lissorgue13

Matches per referee from the season's schedule; the table lists referees with at least 3 matches.

From our data: the season's league matches. History only, never a prediction.

The day's tips on Telegram

Every morning (about 10:00 Tallinn time) the day's card tips go to the free Telegram channel; on some days there are none, and we say so.