Ligue 1

Ligue 1 · independent league model

Ligue 1 2023-24 Results and Season Statistics

Updated 15 Oct 2026, 03:52 UTC · regular-season results and model estimates

Ligue 1 2023-24 finished with 306 completed matches and 826 goals, 2.70 per match. Home teams won 39.2%, 26.5% were drawn and away teams won 34.3%.

Season rates

MeasureValue
Completed matches306
Goals per match2.70
Home wins39.2%
Draws26.5%
Away wins34.3%
Over 2.5 goals52.9%
Both teams scored53.9%
At least one clean sheet46.1%

Club records in 2023-24

ClubPlayedWDLGFGAGDHome W-D-LAway W-D-L
Brest34171075334198-7-29-3-5
Clermont34510192660-343-5-92-5-10
Le Havre34711163445-116-2-91-9-7
Lens3414911453789-4-45-5-7
Lille341611752341811-4-25-7-5
Lorient3478194366-234-4-93-4-10
Lyon34165134955-67-4-69-1-7
Marseille3413111052411110-6-13-5-9
Metz3485213558-233-3-115-2-10
Monaco34207768422610-3-410-4-3
Montpellier341012124348-53-9-57-3-7
Nantes3496193055-253-3-116-3-8
Nice34151094029119-4-46-6-5
Paris Saint-Germain34221028133489-6-213-4-0
Reims34138134247-58-3-65-5-7
Rennes34121012534677-4-65-6-6
Strasbourg34109153850-127-3-73-6-8
Toulouse341110134246-43-7-78-3-6

Clubs are listed alphabetically, not ranked. Final positions depend on official points adjustments that this results history does not carry, and in Spain and Italy on head-to-head tie-breakers.

Standout results

Biggest winning margins

Highest-scoring matches

Every 2023-24 result

DateHomeScoreAway
11 Aug 2023Nice1–1Lille
12 Aug 2023Marseille2–1Reims
12 Aug 2023Paris Saint-Germain0–0Lorient
13 Aug 2023Brest3–2Lens
13 Aug 2023Clermont2–4Monaco
13 Aug 2023Nantes1–2Toulouse
13 Aug 2023Montpellier2–2Le Havre
13 Aug 2023Rennes5–1Metz
13 Aug 2023Strasbourg2–1Lyon
18 Aug 2023Metz2–2Marseille
19 Aug 2023Lyon1–4Montpellier
19 Aug 2023Toulouse1–1Paris Saint-Germain
20 Aug 2023Lille2–0Nantes
20 Aug 2023Lorient1–1Nice
20 Aug 2023Le Havre1–2Brest
20 Aug 2023Reims2–0Clermont
20 Aug 2023Monaco3–0Strasbourg
20 Aug 2023Lens1–1Rennes
25 Aug 2023Nantes3–3Monaco
26 Aug 2023Marseille2–0Brest
26 Aug 2023Paris Saint-Germain3–1Lens
27 Aug 2023Rennes2–2Le Havre
27 Aug 2023Clermont0–1Metz
27 Aug 2023Montpellier1–3Reims
27 Aug 2023Strasbourg2–0Toulouse
27 Aug 2023Lorient4–1Lille
27 Aug 2023Nice0–0Lyon
1 Sept 2023Nantes1–1Marseille
2 Sept 2023Brest0–0Rennes
2 Sept 2023Monaco3–0Lens
3 Sept 2023Toulouse2–2Clermont
3 Sept 2023Metz2–2Reims
3 Sept 2023Le Havre3–0Lorient
3 Sept 2023Lille1–0Montpellier
3 Sept 2023Nice2–0Strasbourg
3 Sept 2023Lyon1–4Paris Saint-Germain
15 Sept 2023Paris Saint-Germain2–3Nice
16 Sept 2023Rennes2–2Lille
16 Sept 2023Lens0–1Metz
17 Sept 2023Lorient2–2Monaco
17 Sept 2023Clermont0–1Nantes
17 Sept 2023Strasbourg2–2Montpellier
17 Sept 2023Reims1–2Brest
17 Sept 2023Marseille0–0Toulouse
17 Sept 2023Lyon0–0Le Havre
22 Sept 2023Monaco0–1Nice
23 Sept 2023Nantes5–3Lorient
23 Sept 2023Brest1–0Lyon
24 Sept 2023Metz0–1Strasbourg
24 Sept 2023Le Havre2–1Clermont
24 Sept 2023Lens2–1Toulouse
24 Sept 2023Montpellier0–0Rennes
24 Sept 2023Paris Saint-Germain4–0Marseille
26 Sept 2023Lille1–2Reims
29 Sept 2023Strasbourg0–1Lens
30 Sept 2023Clermont0–0Paris Saint-Germain
30 Sept 2023Monaco3–2Marseille
1 Oct 2023Reims2–0Lyon
1 Oct 2023Le Havre0–2Lille
1 Oct 2023Nice0–0Brest
1 Oct 2023Toulouse3–0Metz
1 Oct 2023Lorient0–3Montpellier
1 Oct 2023Rennes3–1Nantes
6 Oct 2023Strasbourg1–2Nantes
7 Oct 2023Metz0–1Nice
7 Oct 2023Reims1–3Monaco
8 Oct 2023Marseille3–0Le Havre
8 Oct 2023Lyon3–3Lorient
8 Oct 2023Brest1–1Toulouse
8 Oct 2023Lens1–1Lille
8 Oct 2023Rennes1–3Paris Saint-Germain
20 Oct 2023Le Havre0–0Lens
21 Oct 2023Paris Saint-Germain3–0Strasbourg
21 Oct 2023Nice1–0Marseille
22 Oct 2023Lorient2–1Rennes
22 Oct 2023Nantes2–0Montpellier
22 Oct 2023Lille1–0Brest
22 Oct 2023Toulouse1–1Reims
22 Oct 2023Monaco2–1Metz
22 Oct 2023Lyon1–2Clermont
27 Oct 2023Clermont0–1Nice
28 Oct 2023Reims1–0Lorient
28 Oct 2023Lens4–0Nantes
29 Oct 2023Brest2–3Paris Saint-Germain
29 Oct 2023Metz0–0Le Havre
29 Oct 2023Lille2–0Monaco
29 Oct 2023Montpellier3–0Toulouse
29 Oct 2023Rennes1–1Strasbourg
3 Nov 2023Paris Saint-Germain3–0Montpellier
4 Nov 2023Lorient0–0Lens
4 Nov 2023Marseille0–0Lille
5 Nov 2023Lyon1–1Metz
5 Nov 2023Nantes0–1Reims
5 Nov 2023Strasbourg0–0Clermont
5 Nov 2023Toulouse1–2Le Havre
5 Nov 2023Monaco2–0Brest
5 Nov 2023Nice2–0Rennes
10 Nov 2023Montpellier0–0Nice
11 Nov 2023Reims0–3Paris Saint-Germain
11 Nov 2023Le Havre0–0Monaco
12 Nov 2023Clermont1–0Lorient
12 Nov 2023Metz3–1Nantes
12 Nov 2023Lille1–1Toulouse
12 Nov 2023Rennes0–1Lyon
12 Nov 2023Lens1–0Marseille
24 Nov 2023Paris Saint-Germain5–2Monaco
25 Nov 2023Clermont0–3Lens
25 Nov 2023Strasbourg1–1Marseille
26 Nov 2023Nice1–0Toulouse
26 Nov 2023Lorient2–3Metz
26 Nov 2023Nantes0–0Le Havre
26 Nov 2023Montpellier1–3Brest
26 Nov 2023Rennes3–1Reims
26 Nov 2023Lyon0–2Lille
29 Nov 2023Montpellier1–1Clermont
1 Dec 2023Reims2–1Strasbourg
2 Dec 2023Lens3–2Lyon
2 Dec 2023Nantes1–0Nice
3 Dec 2023Le Havre0–2Paris Saint-Germain
3 Dec 2023Monaco2–0Montpellier
3 Dec 2023Brest3–0Clermont
3 Dec 2023Toulouse1–1Lorient
3 Dec 2023Lille2–0Metz
3 Dec 2023Marseille2–0Rennes
6 Dec 2023Marseille3–0Lyon
7 Dec 2023Brest1–1Strasbourg
8 Dec 2023Montpellier0–0Lens
9 Dec 2023Rennes1–2Monaco
9 Dec 2023Paris Saint-Germain2–1Nantes
10 Dec 2023Nice2–1Reims
10 Dec 2023Clermont0–0Lille
10 Dec 2023Metz0–1Brest
10 Dec 2023Strasbourg2–1Le Havre
10 Dec 2023Lyon3–0Toulouse
10 Dec 2023Lorient2–4Marseille
15 Dec 2023Monaco0–1Lyon
16 Dec 2023Le Havre3–1Nice
16 Dec 2023Lens2–0Reims
17 Dec 2023Nantes0–2Brest
17 Dec 2023Lorient1–2Strasbourg
17 Dec 2023Metz0–1Montpellier
17 Dec 2023Toulouse0–0Rennes
17 Dec 2023Marseille2–1Clermont
17 Dec 2023Lille1–1Paris Saint-Germain
20 Dec 2023Clermont1–3Rennes
20 Dec 2023Montpellier1–1Marseille
20 Dec 2023Nice2–0Lens
20 Dec 2023Lyon1–0Nantes
20 Dec 2023Paris Saint-Germain3–1Metz
20 Dec 2023Strasbourg2–1Lille
20 Dec 2023Brest4–0Lorient
20 Dec 2023Reims1–0Le Havre
20 Dec 2023Toulouse1–2Monaco
12 Jan 2024Marseille1–1Strasbourg
13 Jan 2024Monaco1–3Reims
13 Jan 2024Rennes2–0Nice
14 Jan 2024Lille3–0Lorient
14 Jan 2024Metz0–1Toulouse
14 Jan 2024Nantes1–2Clermont
14 Jan 2024Brest2–0Montpellier
14 Jan 2024Le Havre3–1Lyon
14 Jan 2024Lens0–2Paris Saint-Germain
26 Jan 2024Lyon2–3Rennes
27 Jan 2024Nice1–0Metz
27 Jan 2024Marseille2–2Monaco
28 Jan 2024Montpellier0–0Lille
28 Jan 2024Clermont1–1Strasbourg
28 Jan 2024Lorient3–3Le Havre
28 Jan 2024Reims0–0Nantes
28 Jan 2024Toulouse0–2Lens
28 Jan 2024Paris Saint-Germain2–2Brest
2 Feb 2024Strasbourg1–2Paris Saint-Germain
3 Feb 2024Rennes2–1Montpellier
3 Feb 2024Nantes0–1Lens
4 Feb 2024Monaco1–1Le Havre
4 Feb 2024Metz1–2Lorient
4 Feb 2024Lille4–0Clermont
4 Feb 2024Reims2–3Toulouse
4 Feb 2024Brest0–0Nice
4 Feb 2024Lyon1–0Marseille
9 Feb 2024Marseille1–1Metz
10 Feb 2024Lens3–1Strasbourg
10 Feb 2024Paris Saint-Germain3–1Lille
11 Feb 2024Le Havre0–1Rennes
11 Feb 2024Clermont1–1Brest
11 Feb 2024Lorient2–0Reims
11 Feb 2024Toulouse1–2Nantes
11 Feb 2024Montpellier1–2Lyon
11 Feb 2024Nice2–3Monaco
16 Feb 2024Lyon1–0Nice
17 Feb 2024Lille3–0Le Havre
17 Feb 2024Nantes0–2Paris Saint-Germain
18 Feb 2024Strasbourg1–3Lorient
18 Feb 2024Monaco1–2Toulouse
18 Feb 2024Montpellier3–0Metz
18 Feb 2024Rennes3–1Clermont
18 Feb 2024Reims1–1Lens
18 Feb 2024Brest1–0Marseille
23 Feb 2024Metz1–2Lyon
24 Feb 2024Lorient0–1Nantes
24 Feb 2024Strasbourg0–3Brest
25 Feb 2024Lens2–3Monaco
25 Feb 2024Le Havre1–2Reims
25 Feb 2024Nice0–0Clermont
25 Feb 2024Toulouse3–1Lille
25 Feb 2024Paris Saint-Germain1–1Rennes
25 Feb 2024Marseille4–1Montpellier
1 Mar 2024Monaco0–0Paris Saint-Germain
2 Mar 2024Reims0–1Lille
2 Mar 2024Clermont1–5Marseille
3 Mar 2024Toulouse2–1Nice
3 Mar 2024Nantes0–2Metz
3 Mar 2024Montpellier2–2Strasbourg
3 Mar 2024Brest1–0Le Havre
3 Mar 2024Rennes1–2Lorient
3 Mar 2024Lyon0–3Lens
8 Mar 2024Nice1–2Montpellier
9 Mar 2024Lorient0–2Lyon
9 Mar 2024Lens1–0Brest
10 Mar 2024Paris Saint-Germain2–2Reims
10 Mar 2024Metz1–0Clermont
10 Mar 2024Le Havre1–0Toulouse
10 Mar 2024Strasbourg0–1Monaco
10 Mar 2024Lille2–2Rennes
10 Mar 2024Marseille2–0Nantes
15 Mar 2024Toulouse2–3Lyon
16 Mar 2024Nantes1–3Strasbourg
16 Mar 2024Lens1–3Nice
17 Mar 2024Brest1–1Lille
17 Mar 2024Monaco2–2Lorient
17 Mar 2024Clermont2–1Le Havre
17 Mar 2024Reims2–1Metz
17 Mar 2024Rennes2–0Marseille
17 Mar 2024Montpellier2–6Paris Saint-Germain
29 Mar 2024Lille2–1Lens
30 Mar 2024Metz2–5Monaco
30 Mar 2024Lyon1–1Reims
31 Mar 2024Lorient0–1Brest
31 Mar 2024Clermont0–3Toulouse
31 Mar 2024Le Havre0–2Montpellier
31 Mar 2024Nice1–2Nantes
31 Mar 2024Strasbourg2–0Rennes
31 Mar 2024Marseille0–2Paris Saint-Germain
5 Apr 2024Lille3–1Marseille
6 Apr 2024Lens1–1Le Havre
6 Apr 2024Paris Saint-Germain1–1Clermont
7 Apr 2024Brest4–3Metz
7 Apr 2024Montpellier2–0Lorient
7 Apr 2024Reims0–0Nice
7 Apr 2024Toulouse0–0Strasbourg
7 Apr 2024Monaco1–0Rennes
7 Apr 2024Nantes1–3Lyon
12 Apr 2024Metz2–1Lens
13 Apr 2024Strasbourg3–1Reims
13 Apr 2024Rennes1–2Toulouse
14 Apr 2024Le Havre0–1Nantes
14 Apr 2024Clermont1–1Montpellier
14 Apr 2024Lyon4–3Brest
19 Apr 2024Nice3–0Lorient
20 Apr 2024Nantes0–3Rennes
20 Apr 2024Lens1–0Clermont
21 Apr 2024Le Havre0–1Metz
21 Apr 2024Lille1–0Strasbourg
21 Apr 2024Reims1–2Montpellier
21 Apr 2024Brest0–2Monaco
21 Apr 2024Toulouse2–2Marseille
21 Apr 2024Paris Saint-Germain4–1Lyon
24 Apr 2024Lorient1–4Paris Saint-Germain
24 Apr 2024Monaco1–0Lille
24 Apr 2024Marseille2–2Nice
26 Apr 2024Montpellier1–1Nantes
27 Apr 2024Paris Saint-Germain3–3Le Havre
28 Apr 2024Metz1–2Lille
28 Apr 2024Clermont4–1Reims
28 Apr 2024Lorient1–2Toulouse
28 Apr 2024Strasbourg1–3Nice
28 Apr 2024Rennes4–5Brest
28 Apr 2024Lyon3–2Monaco
28 Apr 2024Marseille2–1Lens
3 May 2024Toulouse1–2Montpellier
3 May 2024Lens2–0Lorient
4 May 2024Le Havre3–1Strasbourg
4 May 2024Monaco4–1Clermont
4 May 2024Metz2–3Rennes
4 May 2024Brest0–0Nantes
6 May 2024Lille3–4Lyon
10 May 2024Nice1–0Le Havre
10 May 2024Brest1–1Reims
12 May 2024Clermont0–1Lyon
12 May 2024Nantes1–2Lille
12 May 2024Montpellier0–2Monaco
12 May 2024Marseille3–1Lorient
12 May 2024Paris Saint-Germain1–3Toulouse
12 May 2024Strasbourg2–1Metz
12 May 2024Rennes1–1Lens
15 May 2024Nice1–2Paris Saint-Germain
15 May 2024Reims1–0Marseille
19 May 2024Monaco4–0Nantes
19 May 2024Lorient5–0Clermont
19 May 2024Metz0–2Paris Saint-Germain
19 May 2024Le Havre1–2Marseille
19 May 2024Lille2–2Nice
19 May 2024Lyon2–1Strasbourg
19 May 2024Lens2–2Montpellier
19 May 2024Reims2–1Rennes
19 May 2024Toulouse0–3Brest

Regular-season matches only; playoffs are excluded. Results through 19 May 2024.

More Ligue 1 history

Sources and limitations

Fixtures, results and provider standings: football-data.org. Completed score history since 2005-06: football-data.co.uk. Forecasts use only results available before their publication time.

The source carries exact kickoff times from 2019-20. Earlier seasons give the date only and are read as a 15:00 kickoff in the competition's own timezone, which keeps those results out of training until three hours later.

No verified injury or confirmed-lineup adjustment is included for Ligue 1. Promotion playoffs and promotion probabilities are outside this model. Probabilities are estimates, not guarantees. Check this league's model record.