Ligue 1

Ligue 1 · independent league model

Ligue 1 2022-23 Results and Season Statistics

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

Ligue 1 2022-23 finished with 380 completed matches and 1067 goals, 2.81 per match. Home teams won 42.9%, 24.2% were drawn and away teams won 32.9%.

Season rates

MeasureValue
Completed matches380
Goals per match2.81
Home wins42.9%
Draws24.2%
Away wins32.9%
Over 2.5 goals56.3%
Both teams scored58.2%
At least one clean sheet41.8%

Club records in 2022-23

ClubPlayedWDLGFGAGDHome W-D-LAway W-D-L
Ac Ajaccio3875262374-514-3-123-2-14
Angers3846283381-483-3-131-3-15
Auxerre38811193563-285-7-73-4-12
Brest381111164454-107-5-74-6-9
Clermont38178134549-49-3-78-5-6
Lens38259468293917-1-18-8-3
Lille381910965442113-4-26-6-7
Lorient381510135253-19-4-66-6-7
Lyon381881265471810-5-48-3-8
Marseille38227967402710-4-512-3-4
Monaco38198117058129-3-710-5-4
Montpellier3815518656237-3-98-2-9
Nantes38715163755-185-8-62-7-10
Nice381513104837117-7-58-6-5
Paris Saint-Germain38274789404913-2-414-2-3
Reims38121511454508-6-54-9-6
Rennes382151269393015-0-46-5-8
Strasbourg38913165159-85-7-74-6-9
Toulouse38139165157-66-6-77-3-9
Troyes38412224581-361-11-73-1-15

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 2022-23 result

DateHomeScoreAway
5 Aug 2022Lyon2–1Ac Ajaccio
6 Aug 2022Strasbourg1–2Monaco
6 Aug 2022Clermont0–5Paris Saint-Germain
7 Aug 2022Toulouse1–1Nice
7 Aug 2022Angers0–0Nantes
7 Aug 2022Lille4–1Auxerre
7 Aug 2022Montpellier3–2Troyes
7 Aug 2022Lens3–2Brest
7 Aug 2022Rennes0–1Lorient
7 Aug 2022Marseille4–1Reims
12 Aug 2022Nantes1–1Lille
13 Aug 2022Monaco1–1Rennes
13 Aug 2022Paris Saint-Germain5–2Montpellier
14 Aug 2022Ac Ajaccio0–0Lens
14 Aug 2022Auxerre2–2Angers
14 Aug 2022Troyes0–3Toulouse
14 Aug 2022Reims2–4Clermont
14 Aug 2022Nice1–1Strasbourg
14 Aug 2022Brest1–1Marseille
19 Aug 2022Lyon4–1Troyes
20 Aug 2022Monaco1–4Lens
20 Aug 2022Marseille2–1Nantes
21 Aug 2022Strasbourg1–1Reims
21 Aug 2022Angers1–3Brest
21 Aug 2022Clermont1–0Nice
21 Aug 2022Montpellier1–2Auxerre
21 Aug 2022Toulouse2–2Lorient
21 Aug 2022Rennes2–1Ac Ajaccio
21 Aug 2022Lille1–7Paris Saint-Germain
26 Aug 2022Ac Ajaccio1–3Lille
27 Aug 2022Auxerre1–0Strasbourg
27 Aug 2022Lens2–1Rennes
28 Aug 2022Nantes3–1Toulouse
28 Aug 2022Troyes3–1Angers
28 Aug 2022Lorient2–1Clermont
28 Aug 2022Nice0–3Marseille
28 Aug 2022Brest0–7Montpellier
28 Aug 2022Reims1–1Lyon
28 Aug 2022Paris Saint-Germain1–1Monaco
31 Aug 2022Angers2–4Reims
31 Aug 2022Monaco2–4Troyes
31 Aug 2022Montpellier2–0Ac Ajaccio
31 Aug 2022Lyon2–1Auxerre
31 Aug 2022Strasbourg1–1Nantes
31 Aug 2022Lille1–2Nice
31 Aug 2022Marseille1–0Clermont
31 Aug 2022Lens5–2Lorient
31 Aug 2022Rennes3–1Brest
31 Aug 2022Toulouse0–3Paris Saint-Germain
3 Sept 2022Auxerre0–2Marseille
3 Sept 2022Lyon5–0Angers
3 Sept 2022Nantes0–3Paris Saint-Germain
4 Sept 2022Montpellier1–3Lille
4 Sept 2022Ac Ajaccio0–1Lorient
4 Sept 2022Clermont2–0Toulouse
4 Sept 2022Brest1–1Strasbourg
4 Sept 2022Reims1–1Lens
4 Sept 2022Troyes1–1Rennes
4 Sept 2022Nice0–1Monaco
7 Sept 2022Lorient3–1Lyon
9 Sept 2022Lens1–0Troyes
10 Sept 2022Paris Saint-Germain1–0Brest
10 Sept 2022Marseille2–1Lille
11 Sept 2022Strasbourg0–0Clermont
11 Sept 2022Ac Ajaccio0–1Nice
11 Sept 2022Angers2–1Montpellier
11 Sept 2022Lorient3–2Nantes
11 Sept 2022Toulouse1–0Reims
11 Sept 2022Rennes5–0Auxerre
11 Sept 2022Monaco2–1Lyon
16 Sept 2022Auxerre1–3Lorient
17 Sept 2022Montpellier2–1Strasbourg
17 Sept 2022Lille2–1Toulouse
18 Sept 2022Reims0–3Monaco
18 Sept 2022Clermont1–3Troyes
18 Sept 2022Nice0–1Angers
18 Sept 2022Marseille1–1Rennes
18 Sept 2022Brest0–1Ac Ajaccio
18 Sept 2022Nantes0–0Lens
18 Sept 2022Lyon0–1Paris Saint-Germain
30 Sept 2022Angers0–3Marseille
1 Oct 2022Strasbourg1–3Rennes
1 Oct 2022Paris Saint-Germain2–1Nice
2 Oct 2022Lorient2–1Lille
2 Oct 2022Ac Ajaccio1–3Clermont
2 Oct 2022Auxerre1–1Brest
2 Oct 2022Troyes2–2Reims
2 Oct 2022Toulouse4–2Montpellier
2 Oct 2022Monaco4–1Nantes
2 Oct 2022Lens1–0Lyon
7 Oct 2022Lyon1–1Toulouse
8 Oct 2022Marseille1–2Ac Ajaccio
8 Oct 2022Reims0–0Paris Saint-Germain
9 Oct 2022Montpellier0–2Monaco
9 Oct 2022Angers2–3Strasbourg
9 Oct 2022Clermont2–1Auxerre
9 Oct 2022Nice3–2Troyes
9 Oct 2022Brest1–2Lorient
9 Oct 2022Rennes3–0Nantes
9 Oct 2022Lille1–0Lens
14 Oct 2022Strasbourg0–3Lille
15 Oct 2022Lorient0–0Reims
15 Oct 2022Lens1–0Montpellier
16 Oct 2022Toulouse3–2Angers
16 Oct 2022Auxerre1–1Nice
16 Oct 2022Troyes1–1Ac Ajaccio
16 Oct 2022Nantes4–1Brest
16 Oct 2022Rennes3–2Lyon
16 Oct 2022Monaco1–1Clermont
16 Oct 2022Paris Saint-Germain1–0Marseille
21 Oct 2022Ac Ajaccio0–3Paris Saint-Germain
22 Oct 2022Montpellier1–2Lyon
22 Oct 2022Marseille0–1Lens
23 Oct 2022Angers1–2Rennes
23 Oct 2022Clermont1–3Brest
23 Oct 2022Troyes2–2Lorient
23 Oct 2022Reims2–1Auxerre
23 Oct 2022Toulouse2–2Strasbourg
23 Oct 2022Nice1–1Nantes
23 Oct 2022Lille4–3Monaco
28 Oct 2022Lens3–0Toulouse
29 Oct 2022Paris Saint-Germain4–3Troyes
29 Oct 2022Strasbourg2–2Marseille
30 Oct 2022Auxerre1–0Ac Ajaccio
30 Oct 2022Monaco2–0Angers
30 Oct 2022Nantes1–1Clermont
30 Oct 2022Brest0–0Reims
30 Oct 2022Rennes3–0Montpellier
30 Oct 2022Lorient1–2Nice
30 Oct 2022Lyon1–0Lille
4 Nov 2022Troyes1–1Auxerre
5 Nov 2022Ac Ajaccio4–2Strasbourg
5 Nov 2022Angers1–2Lens
6 Nov 2022Lorient1–2Paris Saint-Germain
6 Nov 2022Clermont1–1Montpellier
6 Nov 2022Nice1–0Brest
6 Nov 2022Reims1–0Nantes
6 Nov 2022Toulouse0–2Monaco
6 Nov 2022Lille1–1Rennes
6 Nov 2022Marseille1–0Lyon
11 Nov 2022Lyon1–1Nice
12 Nov 2022Lens2–1Clermont
12 Nov 2022Rennes2–1Toulouse
13 Nov 2022Paris Saint-Germain5–0Auxerre
13 Nov 2022Nantes2–2Ac Ajaccio
13 Nov 2022Lille1–0Angers
13 Nov 2022Montpellier1–1Reims
13 Nov 2022Brest2–1Troyes
13 Nov 2022Strasbourg1–1Lorient
13 Nov 2022Monaco2–3Marseille
28 Dec 2022Ac Ajaccio1–0Angers
28 Dec 2022Troyes0–0Nantes
28 Dec 2022Auxerre2–3Monaco
28 Dec 2022Clermont0–2Lille
28 Dec 2022Paris Saint-Germain2–1Strasbourg
28 Dec 2022Brest2–4Lyon
29 Dec 2022Lorient0–2Montpellier
29 Dec 2022Reims3–1Rennes
29 Dec 2022Nice0–0Lens
29 Dec 2022Marseille6–1Toulouse
1 Jan 2023Angers1–2Lorient
1 Jan 2023Monaco1–0Brest
1 Jan 2023Nantes1–0Auxerre
1 Jan 2023Toulouse2–0Ac Ajaccio
1 Jan 2023Lyon0–1Clermont
1 Jan 2023Lens3–1Paris Saint-Germain
2 Jan 2023Strasbourg2–3Troyes
2 Jan 2023Lille1–1Reims
2 Jan 2023Montpellier1–2Marseille
2 Jan 2023Rennes2–1Nice
11 Jan 2023Ac Ajaccio0–1Reims
11 Jan 2023Auxerre0–5Toulouse
11 Jan 2023Clermont2–1Rennes
11 Jan 2023Nantes0–0Lyon
11 Jan 2023Brest0–0Lille
11 Jan 2023Troyes0–2Marseille
11 Jan 2023Lorient2–2Monaco
11 Jan 2023Nice6–1Montpellier
11 Jan 2023Paris Saint-Germain2–0Angers
11 Jan 2023Strasbourg2–2Lens
14 Jan 2023Lens1–0Auxerre
14 Jan 2023Marseille3–1Lorient
14 Jan 2023Lyon1–2Strasbourg
15 Jan 2023Lille5–1Troyes
15 Jan 2023Angers1–2Clermont
15 Jan 2023Montpellier0–3Nantes
15 Jan 2023Reims0–0Nice
15 Jan 2023Toulouse1–1Brest
15 Jan 2023Monaco7–1Ac Ajaccio
15 Jan 2023Rennes1–0Paris Saint-Germain
27 Jan 2023Lorient2–1Rennes
28 Jan 2023Troyes1–1Lens
28 Jan 2023Marseille1–1Monaco
29 Jan 2023Nice1–0Lille
29 Jan 2023Auxerre0–2Montpellier
29 Jan 2023Clermont0–0Nantes
29 Jan 2023Strasbourg1–2Toulouse
29 Jan 2023Brest4–0Angers
29 Jan 2023Ac Ajaccio0–2Lyon
29 Jan 2023Paris Saint-Germain1–1Reims
1 Feb 2023Angers1–2Ac Ajaccio
1 Feb 2023Nantes0–2Marseille
1 Feb 2023Lille0–0Clermont
1 Feb 2023Reims4–2Lorient
1 Feb 2023Toulouse4–1Troyes
1 Feb 2023Monaco3–2Auxerre
1 Feb 2023Montpellier1–3Paris Saint-Germain
1 Feb 2023Lyon0–0Brest
1 Feb 2023Lens0–1Nice
1 Feb 2023Rennes3–0Strasbourg
4 Feb 2023Paris Saint-Germain2–1Toulouse
4 Feb 2023Troyes1–3Lyon
4 Feb 2023Rennes1–3Lille
5 Feb 2023Clermont0–2Monaco
5 Feb 2023Ac Ajaccio0–2Nantes
5 Feb 2023Auxerre0–0Reims
5 Feb 2023Lorient0–0Angers
5 Feb 2023Strasbourg2–0Montpellier
5 Feb 2023Brest1–1Lens
5 Feb 2023Marseille1–3Nice
10 Feb 2023Nice3–0Ac Ajaccio
11 Feb 2023Monaco3–1Paris Saint-Germain
11 Feb 2023Clermont0–2Marseille
12 Feb 2023Toulouse3–1Rennes
12 Feb 2023Angers1–1Auxerre
12 Feb 2023Lille2–0Strasbourg
12 Feb 2023Montpellier3–0Brest
12 Feb 2023Reims4–0Troyes
12 Feb 2023Nantes1–0Lorient
12 Feb 2023Lyon2–1Lens
17 Feb 2023Auxerre2–1Lyon
18 Feb 2023Nice0–0Reims
18 Feb 2023Strasbourg2–1Angers
19 Feb 2023Paris Saint-Germain4–3Lille
19 Feb 2023Troyes0–1Montpellier
19 Feb 2023Lorient3–0Ac Ajaccio
19 Feb 2023Brest1–2Monaco
19 Feb 2023Rennes2–0Clermont
19 Feb 2023Lens3–1Nantes
19 Feb 2023Toulouse2–3Marseille
24 Feb 2023Lille2–1Brest
25 Feb 2023Angers1–3Lyon
25 Feb 2023Montpellier1–1Lens
26 Feb 2023Lorient0–1Auxerre
26 Feb 2023Ac Ajaccio2–1Troyes
26 Feb 2023Clermont1–1Strasbourg
26 Feb 2023Nantes0–1Rennes
26 Feb 2023Reims3–0Toulouse
26 Feb 2023Monaco0–3Nice
26 Feb 2023Marseille0–3Paris Saint-Germain
3 Mar 2023Nice1–1Auxerre
4 Mar 2023Lens1–1Lille
4 Mar 2023Paris Saint-Germain4–2Nantes
5 Mar 2023Troyes2–2Monaco
5 Mar 2023Montpellier5–0Angers
5 Mar 2023Strasbourg0–1Brest
5 Mar 2023Reims1–0Ac Ajaccio
5 Mar 2023Toulouse0–1Clermont
5 Mar 2023Lyon0–0Lorient
5 Mar 2023Rennes0–1Marseille
10 Mar 2023Lille3–3Lyon
11 Mar 2023Auxerre0–0Rennes
11 Mar 2023Brest1–2Paris Saint-Germain
12 Mar 2023Clermont0–4Lens
12 Mar 2023Ac Ajaccio0–1Montpellier
12 Mar 2023Angers0–2Toulouse
12 Mar 2023Lorient2–0Troyes
12 Mar 2023Nantes2–2Nice
12 Mar 2023Monaco0–1Reims
12 Mar 2023Marseille2–2Strasbourg
17 Mar 2023Lyon1–1Nantes
18 Mar 2023Toulouse0–2Lille
18 Mar 2023Lens3–0Angers
19 Mar 2023Ac Ajaccio0–2Monaco
19 Mar 2023Troyes2–2Brest
19 Mar 2023Montpellier2–1Clermont
19 Mar 2023Nice1–1Lorient
19 Mar 2023Strasbourg2–0Auxerre
19 Mar 2023Paris Saint-Germain0–2Rennes
19 Mar 2023Reims1–2Marseille
31 Mar 2023Marseille1–1Montpellier
1 Apr 2023Auxerre1–0Troyes
1 Apr 2023Rennes0–1Lens
2 Apr 2023Lille3–1Lorient
2 Apr 2023Angers1–1Nice
2 Apr 2023Clermont2–1Ac Ajaccio
2 Apr 2023Nantes0–3Reims
2 Apr 2023Brest3–1Toulouse
2 Apr 2023Monaco4–3Strasbourg
2 Apr 2023Paris Saint-Germain0–1Lyon
7 Apr 2023Lens2–1Strasbourg
8 Apr 2023Angers1–0Lille
8 Apr 2023Nice0–2Paris Saint-Germain
9 Apr 2023Lyon3–1Rennes
9 Apr 2023Ac Ajaccio0–3Auxerre
9 Apr 2023Troyes0–2Clermont
9 Apr 2023Montpellier1–2Toulouse
9 Apr 2023Reims1–1Brest
9 Apr 2023Nantes2–2Monaco
9 Apr 2023Lorient0–0Marseille
14 Apr 2023Toulouse1–2Lyon
15 Apr 2023Rennes3–0Reims
15 Apr 2023Paris Saint-Germain3–1Lens
16 Apr 2023Lille2–1Montpellier
16 Apr 2023Auxerre2–1Nantes
16 Apr 2023Clermont2–1Angers
16 Apr 2023Strasbourg3–1Ac Ajaccio
16 Apr 2023Brest1–0Nice
16 Apr 2023Monaco3–1Lorient
16 Apr 2023Marseille3–1Troyes
21 Apr 2023Angers1–2Paris Saint-Germain
22 Apr 2023Auxerre1–1Lille
22 Apr 2023Lens3–0Monaco
23 Apr 2023Reims0–2Strasbourg
23 Apr 2023Ac Ajaccio0–0Brest
23 Apr 2023Lorient0–1Toulouse
23 Apr 2023Nantes2–2Troyes
23 Apr 2023Nice1–2Clermont
23 Apr 2023Montpellier1–0Rennes
23 Apr 2023Lyon1–2Marseille
28 Apr 2023Strasbourg1–2Lyon
29 Apr 2023Lille3–0Ac Ajaccio
30 Apr 2023Monaco0–4Montpellier
30 Apr 2023Clermont1–0Reims
30 Apr 2023Troyes0–1Nice
30 Apr 2023Rennes4–2Angers
30 Apr 2023Paris Saint-Germain1–3Lorient
30 Apr 2023Marseille2–1Auxerre
2 May 2023Toulouse0–1Lens
3 May 2023Brest2–0Nantes
6 May 2023Nice2–1Rennes
6 May 2023Reims1–0Lille
6 May 2023Lens2–1Marseille
7 May 2023Angers1–2Monaco
7 May 2023Ac Ajaccio0–0Toulouse
7 May 2023Auxerre1–1Clermont
7 May 2023Lorient2–1Brest
7 May 2023Nantes0–2Strasbourg
7 May 2023Lyon5–4Montpellier
7 May 2023Troyes1–3Paris Saint-Germain
12 May 2023Lens2–1Reims
13 May 2023Strasbourg2–0Nice
13 May 2023Paris Saint-Germain5–0Ac Ajaccio
14 May 2023Clermont2–1Lyon
14 May 2023Montpellier1–1Lorient
14 May 2023Brest1–0Auxerre
14 May 2023Rennes4–0Troyes
14 May 2023Toulouse0–0Nantes
14 May 2023Monaco0–0Lille
14 May 2023Marseille3–1Angers
19 May 2023Lyon3–1Monaco
20 May 2023Nantes0–3Montpellier
20 May 2023Lille2–1Marseille
21 May 2023Ac Ajaccio0–5Rennes
21 May 2023Troyes1–1Strasbourg
21 May 2023Nice0–0Toulouse
21 May 2023Brest2–1Clermont
21 May 2023Reims2–2Angers
21 May 2023Lorient1–3Lens
21 May 2023Auxerre1–2Paris Saint-Germain
27 May 2023Angers2–1Troyes
27 May 2023Clermont2–0Lorient
27 May 2023Lille2–1Nantes
27 May 2023Montpellier2–3Nice
27 May 2023Marseille1–2Brest
27 May 2023Lyon3–0Reims
27 May 2023Lens3–0Ac Ajaccio
27 May 2023Strasbourg1–1Paris Saint-Germain
27 May 2023Rennes2–0Monaco
27 May 2023Toulouse1–1Auxerre
3 Jun 2023Ac Ajaccio1–0Marseille
3 Jun 2023Auxerre1–3Lens
3 Jun 2023Monaco1–2Toulouse
3 Jun 2023Troyes1–1Lille
3 Jun 2023Lorient2–1Strasbourg
3 Jun 2023Nantes1–0Angers
3 Jun 2023Nice3–1Lyon
3 Jun 2023Paris Saint-Germain2–3Clermont
3 Jun 2023Brest1–2Rennes
3 Jun 2023Reims1–3Montpellier

Regular-season matches only; playoffs are excluded. Results through 3 Jun 2023.

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.