Ligue 1

Ligue 1 · independent league model

Ligue 1 2021-22 Results and Season Statistics

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

Ligue 1 2021-22 finished with 380 completed matches and 1067 goals, 2.81 per match. Home teams won 42.6%, 26.8% were drawn and away teams won 30.5%.

Season rates

MeasureValue
Completed matches380
Goals per match2.81
Home wins42.6%
Draws26.8%
Away wins30.5%
Over 2.5 goals50.3%
Both teams scored55.3%
At least one clean sheet44.7%

Club records in 2021-22

ClubPlayedWDLGFGAGDHome W-D-LAway W-D-L
Angers381011174455-118-2-92-9-8
Brest38139164957-87-4-86-5-8
Clermont3899203869-314-6-95-3-11
Girondins Bordeaux38613195291-393-7-93-6-10
Lens381711106248149-7-38-4-7
Lille38141311484807-8-47-5-7
Lorient38812183563-286-6-72-6-11
Lyon3817111066511511-5-36-6-7
Marseille3821896338259-5-512-3-4
Metz38613193569-343-7-93-6-10
Monaco38209965402512-4-38-5-6
Montpellier38127194961-127-5-75-2-12
Nantes381510135548711-4-44-6-9
Nice382071152361610-4-510-3-6
Paris Saint-Germain38268490365416-3-010-5-4
Reims381113144344-15-6-86-7-6
Rennes382061282404214-1-46-5-8
Saint-Etienne38711204277-354-6-93-5-11
Strasbourg381712960431711-5-36-7-6
Troyes38911183753-165-7-74-4-11

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 2021-22 result

DateHomeScoreAway
6 Aug 2021Monaco1–1Nantes
7 Aug 2021Lyon1–1Brest
7 Aug 2021Troyes1–2Paris Saint-Germain
8 Aug 2021Rennes1–1Lens
8 Aug 2021Saint-Etienne1–1Lorient
8 Aug 2021Girondins Bordeaux0–2Clermont
8 Aug 2021Nice0–0Reims
8 Aug 2021Strasbourg0–2Angers
8 Aug 2021Metz3–3Lille
8 Aug 2021Montpellier2–3Marseille
13 Aug 2021Lorient1–0Monaco
14 Aug 2021Lille0–4Nice
14 Aug 2021Paris Saint-Germain4–2Strasbourg
15 Aug 2021Angers3–0Lyon
15 Aug 2021Clermont2–0Troyes
15 Aug 2021Nantes2–0Metz
15 Aug 2021Brest1–1Rennes
15 Aug 2021Reims3–3Montpellier
15 Aug 2021Lens2–2Saint-Etienne
15 Aug 2021Marseille2–2Girondins Bordeaux
20 Aug 2021Brest2–4Paris Saint-Germain
21 Aug 2021Monaco0–2Lens
21 Aug 2021Saint-Etienne1–1Lille
22 Aug 2021Lyon3–3Clermont
22 Aug 2021Metz1–1Reims
22 Aug 2021Girondins Bordeaux1–1Angers
22 Aug 2021Montpellier3–1Lorient
22 Aug 2021Strasbourg1–1Troyes
22 Aug 2021Rennes1–0Nantes
27 Aug 2021Nantes0–1Lyon
28 Aug 2021Nice4–0Girondins Bordeaux
28 Aug 2021Marseille3–1Saint-Etienne
29 Aug 2021Troyes1–2Monaco
29 Aug 2021Angers2–0Rennes
29 Aug 2021Clermont2–2Metz
29 Aug 2021Lens2–2Lorient
29 Aug 2021Strasbourg3–1Brest
29 Aug 2021Lille2–1Montpellier
29 Aug 2021Reims0–2Paris Saint-Germain
10 Sept 2021Lorient2–1Lille
11 Sept 2021Paris Saint-Germain4–0Clermont
11 Sept 2021Monaco0–2Marseille
12 Sept 2021Montpellier2–0Saint-Etienne
12 Sept 2021Metz0–2Troyes
12 Sept 2021Girondins Bordeaux2–3Lens
12 Sept 2021Brest1–1Angers
12 Sept 2021Rennes0–2Reims
12 Sept 2021Nantes0–2Nice
12 Sept 2021Lyon3–1Strasbourg
17 Sept 2021Strasbourg3–0Metz
18 Sept 2021Lens1–0Lille
18 Sept 2021Saint-Etienne1–2Girondins Bordeaux
19 Sept 2021Nice2–2Monaco
19 Sept 2021Angers1–4Nantes
19 Sept 2021Clermont1–1Brest
19 Sept 2021Troyes1–1Montpellier
19 Sept 2021Reims0–0Lorient
19 Sept 2021Marseille2–0Rennes
19 Sept 2021Paris Saint-Germain2–1Lyon
22 Sept 2021Monaco3–1Saint-Etienne
22 Sept 2021Nantes3–1Brest
22 Sept 2021Lille2–1Reims
22 Sept 2021Montpellier3–3Girondins Bordeaux
22 Sept 2021Rennes6–0Clermont
22 Sept 2021Angers0–0Marseille
22 Sept 2021Lorient1–0Nice
22 Sept 2021Metz1–2Paris Saint-Germain
22 Sept 2021Lyon3–1Troyes
22 Sept 2021Lens0–1Strasbourg
25 Sept 2021Saint-Etienne0–3Nice
25 Sept 2021Strasbourg1–2Lille
25 Sept 2021Lyon1–1Lorient
25 Sept 2021Paris Saint-Germain2–0Montpellier
26 Sept 2021Girondins Bordeaux1–1Rennes
26 Sept 2021Troyes1–1Angers
26 Sept 2021Brest1–2Metz
26 Sept 2021Reims3–1Nantes
26 Sept 2021Clermont1–3Monaco
26 Sept 2021Marseille2–3Lens
1 Oct 2021Lens2–0Reims
2 Oct 2021Montpellier1–1Strasbourg
2 Oct 2021Nice2–1Brest
3 Oct 2021Rennes2–0Paris Saint-Germain
3 Oct 2021Angers3–2Metz
3 Oct 2021Monaco3–0Girondins Bordeaux
3 Oct 2021Lorient1–1Clermont
3 Oct 2021Nantes2–0Troyes
3 Oct 2021Lille2–0Marseille
3 Oct 2021Saint-Etienne1–1Lyon
15 Oct 2021Paris Saint-Germain2–1Angers
16 Oct 2021Clermont1–0Lille
16 Oct 2021Lyon2–0Monaco
17 Oct 2021Troyes1–0Nice
17 Oct 2021Metz0–3Rennes
17 Oct 2021Girondins Bordeaux1–1Nantes
17 Oct 2021Strasbourg5–1Saint-Etienne
17 Oct 2021Brest1–1Reims
17 Oct 2021Montpellier1–0Lens
17 Oct 2021Marseille4–1Lorient
22 Oct 2021Saint-Etienne2–2Angers
23 Oct 2021Nantes2–1Clermont
23 Oct 2021Lille1–1Brest
24 Oct 2021Nice3–2Lyon
24 Oct 2021Lorient1–1Girondins Bordeaux
24 Oct 2021Lens4–1Metz
24 Oct 2021Reims1–2Troyes
24 Oct 2021Rennes1–0Strasbourg
24 Oct 2021Monaco3–1Montpellier
24 Oct 2021Marseille0–0Paris Saint-Germain
27 Oct 2021Nice1–1Marseille
29 Oct 2021Paris Saint-Germain2–1Lille
30 Oct 2021Metz1–1Saint-Etienne
30 Oct 2021Lyon2–1Lens
31 Oct 2021Angers1–2Nice
31 Oct 2021Troyes2–2Rennes
31 Oct 2021Girondins Bordeaux3–2Reims
31 Oct 2021Montpellier2–0Nantes
31 Oct 2021Strasbourg4–0Lorient
31 Oct 2021Brest2–0Monaco
31 Oct 2021Clermont0–1Marseille
5 Nov 2021Lens4–0Troyes
6 Nov 2021Lille1–1Angers
6 Nov 2021Girondins Bordeaux2–3Paris Saint-Germain
7 Nov 2021Marseille0–0Metz
7 Nov 2021Saint-Etienne3–2Clermont
7 Nov 2021Lorient1–2Brest
7 Nov 2021Nantes2–2Strasbourg
7 Nov 2021Reims0–0Monaco
7 Nov 2021Nice0–1Montpellier
7 Nov 2021Rennes4–1Lyon
19 Nov 2021Monaco2–2Lille
20 Nov 2021Paris Saint-Germain3–1Nantes
20 Nov 2021Rennes2–0Montpellier
21 Nov 2021Brest4–0Lens
21 Nov 2021Angers1–0Lorient
21 Nov 2021Troyes0–1Saint-Etienne
21 Nov 2021Metz3–3Girondins Bordeaux
21 Nov 2021Strasbourg1–1Reims
21 Nov 2021Clermont1–2Nice
26 Nov 2021Lens2–2Angers
27 Nov 2021Lille1–1Nantes
27 Nov 2021Nice0–1Metz
28 Nov 2021Saint-Etienne1–3Paris Saint-Germain
28 Nov 2021Monaco1–1Strasbourg
28 Nov 2021Lorient0–2Rennes
28 Nov 2021Girondins Bordeaux1–2Brest
28 Nov 2021Reims1–0Clermont
28 Nov 2021Montpellier0–1Lyon
28 Nov 2021Marseille1–0Troyes
1 Dec 2021Angers1–3Monaco
1 Dec 2021Troyes2–0Lorient
1 Dec 2021Metz1–3Montpellier
1 Dec 2021Strasbourg5–2Girondins Bordeaux
1 Dec 2021Brest1–0Saint-Etienne
1 Dec 2021Clermont2–2Lens
1 Dec 2021Nantes0–1Marseille
1 Dec 2021Lyon1–2Reims
1 Dec 2021Paris Saint-Germain0–0Nice
1 Dec 2021Rennes1–2Lille
4 Dec 2021Marseille1–2Brest
4 Dec 2021Lille2–1Troyes
4 Dec 2021Lens1–1Paris Saint-Germain
5 Dec 2021Saint-Etienne0–5Rennes
5 Dec 2021Monaco4–0Metz
5 Dec 2021Lorient0–1Nantes
5 Dec 2021Montpellier1–0Clermont
5 Dec 2021Reims1–2Angers
5 Dec 2021Nice0–3Strasbourg
5 Dec 2021Girondins Bordeaux2–2Lyon
10 Dec 2021Nantes3–2Lens
11 Dec 2021Brest0–4Montpellier
11 Dec 2021Reims2–0Saint-Etienne
12 Dec 2021Lille0–0Lyon
12 Dec 2021Angers0–1Clermont
12 Dec 2021Troyes1–2Girondins Bordeaux
12 Dec 2021Metz4–1Lorient
12 Dec 2021Rennes1–2Nice
12 Dec 2021Strasbourg0–2Marseille
12 Dec 2021Paris Saint-Germain2–0Monaco
22 Dec 2021Monaco2–1Rennes
22 Dec 2021Saint-Etienne0–1Nantes
22 Dec 2021Troyes1–1Brest
22 Dec 2021Lorient1–1Paris Saint-Germain
22 Dec 2021Girondins Bordeaux2–3Lille
22 Dec 2021Montpellier4–1Angers
22 Dec 2021Nice2–1Lens
22 Dec 2021Marseille1–1Reims
22 Dec 2021Lyon1–1Metz
7 Jan 2022Girondins Bordeaux0–1Marseille
8 Jan 2022Lens1–0Rennes
9 Jan 2022Brest0–3Nice
9 Jan 2022Clermont0–0Reims
9 Jan 2022Metz0–2Strasbourg
9 Jan 2022Nantes0–0Monaco
9 Jan 2022Lyon1–1Paris Saint-Germain
14 Jan 2022Nice2–1Nantes
15 Jan 2022Saint-Etienne1–2Lens
15 Jan 2022Paris Saint-Germain2–0Brest
16 Jan 2022Rennes6–0Girondins Bordeaux
16 Jan 2022Monaco4–0Clermont
16 Jan 2022Lorient0–0Angers
16 Jan 2022Strasbourg3–1Montpellier
16 Jan 2022Reims0–1Metz
16 Jan 2022Troyes0–1Lyon
16 Jan 2022Marseille1–1Lille
19 Jan 2022Clermont0–2Strasbourg
19 Jan 2022Lille3–1Lorient
19 Jan 2022Montpellier0–1Troyes
21 Jan 2022Lyon1–0Saint-Etienne
22 Jan 2022Brest2–0Lille
22 Jan 2022Lens0–2Marseille
23 Jan 2022Metz0–2Nice
23 Jan 2022Angers2–1Troyes
23 Jan 2022Clermont2–1Rennes
23 Jan 2022Nantes4–2Lorient
23 Jan 2022Girondins Bordeaux4–3Strasbourg
23 Jan 2022Montpellier3–2Monaco
23 Jan 2022Paris Saint-Germain4–0Reims
26 Jan 2022Angers0–1Saint-Etienne
1 Feb 2022Lyon2–1Marseille
4 Feb 2022Marseille5–2Angers
5 Feb 2022Saint-Etienne3–1Montpellier
5 Feb 2022Monaco2–0Lyon
6 Feb 2022Lorient2–0Lens
6 Feb 2022Troyes0–0Metz
6 Feb 2022Nice0–1Clermont
6 Feb 2022Strasbourg1–0Nantes
6 Feb 2022Reims5–0Girondins Bordeaux
6 Feb 2022Rennes2–0Brest
6 Feb 2022Lille1–5Paris Saint-Germain
11 Feb 2022Paris Saint-Germain1–0Rennes
12 Feb 2022Montpellier0–1Lille
12 Feb 2022Lyon2–0Nice
13 Feb 2022Monaco0–0Lorient
13 Feb 2022Angers0–1Strasbourg
13 Feb 2022Clermont1–2Saint-Etienne
13 Feb 2022Nantes1–0Reims
13 Feb 2022Brest5–1Troyes
13 Feb 2022Lens3–2Girondins Bordeaux
13 Feb 2022Metz1–2Marseille
18 Feb 2022Lille0–0Metz
19 Feb 2022Lens1–1Lyon
19 Feb 2022Nantes3–1Paris Saint-Germain
20 Feb 2022Nice1–0Angers
20 Feb 2022Saint-Etienne2–2Strasbourg
20 Feb 2022Lorient0–1Montpellier
20 Feb 2022Reims1–1Brest
20 Feb 2022Rennes4–1Troyes
20 Feb 2022Girondins Bordeaux1–1Monaco
20 Feb 2022Marseille0–2Clermont
25 Feb 2022Montpellier2–4Rennes
26 Feb 2022Strasbourg0–0Nice
26 Feb 2022Paris Saint-Germain3–1Saint-Etienne
27 Feb 2022Monaco1–2Reims
27 Feb 2022Angers1–2Lens
27 Feb 2022Clermont1–1Girondins Bordeaux
27 Feb 2022Metz0–0Nantes
27 Feb 2022Brest0–1Lorient
27 Feb 2022Troyes1–1Marseille
27 Feb 2022Lyon0–1Lille
4 Mar 2022Lorient1–4Lyon
5 Mar 2022Lens0–1Brest
5 Mar 2022Nice1–0Paris Saint-Germain
6 Mar 2022Saint-Etienne1–0Metz
6 Mar 2022Nantes2–0Montpellier
6 Mar 2022Girondins Bordeaux0–2Troyes
6 Mar 2022Reims1–1Strasbourg
6 Mar 2022Rennes2–0Angers
6 Mar 2022Lille4–0Clermont
6 Mar 2022Marseille0–1Monaco
11 Mar 2022Lille0–0Saint-Etienne
12 Mar 2022Montpellier0–0Nice
12 Mar 2022Troyes1–0Nantes
13 Mar 2022Paris Saint-Germain3–0Girondins Bordeaux
13 Mar 2022Angers0–1Reims
13 Mar 2022Clermont0–2Lorient
13 Mar 2022Metz0–0Lens
13 Mar 2022Strasbourg1–0Monaco
13 Mar 2022Lyon2–4Rennes
13 Mar 2022Brest1–4Marseille
18 Mar 2022Saint-Etienne1–1Troyes
19 Mar 2022Lens3–1Clermont
19 Mar 2022Nantes0–1Lille
20 Mar 2022Monaco3–0Paris Saint-Germain
20 Mar 2022Angers1–0Brest
20 Mar 2022Lorient0–0Strasbourg
20 Mar 2022Girondins Bordeaux0–2Montpellier
20 Mar 2022Rennes6–1Metz
20 Mar 2022Reims0–0Lyon
20 Mar 2022Marseille2–1Nice
2 Apr 2022Nice1–1Rennes
2 Apr 2022Lille0–0Girondins Bordeaux
3 Apr 2022Strasbourg1–0Lens
3 Apr 2022Saint-Etienne2–4Marseille
3 Apr 2022Clermont2–3Nantes
3 Apr 2022Troyes1–0Reims
3 Apr 2022Metz1–2Monaco
3 Apr 2022Montpellier1–2Brest
3 Apr 2022Lyon3–2Angers
3 Apr 2022Paris Saint-Germain5–1Lorient
8 Apr 2022Lorient6–2Saint-Etienne
9 Apr 2022Reims2–3Rennes
9 Apr 2022Clermont1–6Paris Saint-Germain
10 Apr 2022Girondins Bordeaux3–1Metz
10 Apr 2022Angers1–1Lille
10 Apr 2022Monaco2–1Troyes
10 Apr 2022Brest1–1Nantes
10 Apr 2022Lens3–0Nice
10 Apr 2022Strasbourg1–1Lyon
10 Apr 2022Marseille2–0Montpellier
15 Apr 2022Rennes2–3Monaco
16 Apr 2022Saint-Etienne2–1Brest
16 Apr 2022Lille1–2Lens
17 Apr 2022Nice2–1Lorient
17 Apr 2022Troyes1–1Strasbourg
17 Apr 2022Metz1–1Clermont
17 Apr 2022Nantes1–1Angers
17 Apr 2022Montpellier0–0Reims
17 Apr 2022Lyon6–1Girondins Bordeaux
17 Apr 2022Paris Saint-Germain2–1Marseille
20 Apr 2022Monaco1–0Nice
20 Apr 2022Troyes0–1Clermont
20 Apr 2022Lorient1–0Metz
20 Apr 2022Girondins Bordeaux2–2Saint-Etienne
20 Apr 2022Reims2–1Lille
20 Apr 2022Angers0–3Paris Saint-Germain
20 Apr 2022Marseille3–2Nantes
20 Apr 2022Lens2–0Montpellier
20 Apr 2022Strasbourg2–1Rennes
20 Apr 2022Brest2–1Lyon
23 Apr 2022Lyon5–2Montpellier
23 Apr 2022Saint-Etienne1–4Monaco
23 Apr 2022Paris Saint-Germain1–1Lens
24 Apr 2022Rennes5–0Lorient
24 Apr 2022Clermont2–2Angers
24 Apr 2022Metz0–1Brest
24 Apr 2022Nantes5–3Girondins Bordeaux
24 Apr 2022Nice1–0Troyes
24 Apr 2022Lille1–0Strasbourg
24 Apr 2022Reims0–1Marseille
29 Apr 2022Strasbourg3–3Paris Saint-Germain
30 Apr 2022Lens2–2Nantes
30 Apr 2022Rennes2–0Saint-Etienne
1 May 2022Troyes3–0Lille
1 May 2022Monaco2–0Angers
1 May 2022Lorient1–2Reims
1 May 2022Montpellier2–2Metz
1 May 2022Brest2–0Clermont
1 May 2022Girondins Bordeaux0–1Nice
1 May 2022Marseille0–3Lyon
6 May 2022Lille1–2Monaco
7 May 2022Brest0–1Strasbourg
8 May 2022Metz3–2Lyon
8 May 2022Angers4–1Girondins Bordeaux
8 May 2022Clermont2–1Montpellier
8 May 2022Reims1–2Lens
8 May 2022Lorient0–3Marseille
8 May 2022Paris Saint-Germain2–2Troyes
11 May 2022Nice4–2Saint-Etienne
11 May 2022Nantes2–1Rennes
14 May 2022Monaco4–2Brest
14 May 2022Saint-Etienne1–2Reims
14 May 2022Troyes1–3Lens
14 May 2022Metz1–0Angers
14 May 2022Girondins Bordeaux0–0Lorient
14 May 2022Montpellier0–4Paris Saint-Germain
14 May 2022Nice1–3Lille
14 May 2022Lyon3–2Nantes
14 May 2022Strasbourg1–0Clermont
14 May 2022Rennes2–0Marseille
21 May 2022Angers2–0Montpellier
21 May 2022Clermont1–2Lyon
21 May 2022Lorient1–1Troyes
21 May 2022Nantes1–1Saint-Etienne
21 May 2022Lille2–2Rennes
21 May 2022Marseille4–0Strasbourg
21 May 2022Paris Saint-Germain5–0Metz
21 May 2022Lens2–2Monaco
21 May 2022Brest2–4Girondins Bordeaux
21 May 2022Reims2–3Nice

Regular-season matches only; playoffs are excluded. Results through 21 May 2022.

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.