Ligue 1

Ligue 1 · independent league model

Ligue 1 2015-16 Results and Season Statistics

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

Ligue 1 2015-16 finished with 380 completed matches and 960 goals, 2.53 per match. Home teams won 42.1%, 28.4% were drawn and away teams won 29.5%.

Season rates

MeasureValue
Completed matches380
Goals per match2.53
Home wins42.1%
Draws28.4%
Away wins29.5%
Over 2.5 goals44.2%
Both teams scored48.4%
At least one clean sheet51.6%

Club records in 2015-16

ClubPlayedWDLGFGAGDHome W-D-LAway W-D-L
Ajaccio Gfco38813173758-215-7-73-6-10
Angers38131114403826-8-57-3-9
Bastia38148163642-611-2-63-6-10
Caen38166163952-139-3-77-3-9
Girondins Bordeaux381214125057-78-7-44-7-8
Guingamp381111164756-96-7-65-4-10
Lille38151583927129-6-46-9-4
Lorient381113144758-117-7-54-6-9
Lyon381981167432412-4-37-4-8
Marseille38101810484263-11-57-7-5
Monaco38171475750710-6-37-8-4
Montpellier3814717494729-0-105-7-7
Nantes381212143344-118-5-64-7-8
Nice381891158411712-2-56-7-6
Paris Saint-Germain383062102198315-3-115-3-1
Reims38109194457-137-5-73-4-12
Rennes381313125254-26-7-67-6-6
Saint-Etienne38177144237510-4-57-3-9
Toulouse38913164555-106-7-63-6-10
Troyes3839262883-551-7-112-2-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 2015-16 result

DateHomeScoreAway
7 Aug 2015Lille0–1Paris Saint-Germain
8 Aug 2015Bastia2–1Rennes
8 Aug 2015Troyes0–0Ajaccio Gfco
8 Aug 2015Nantes1–0Guingamp
8 Aug 2015Montpellier0–2Angers
8 Aug 2015Nice1–2Monaco
8 Aug 2015Marseille0–1Caen
9 Aug 2015Girondins Bordeaux1–2Reims
9 Aug 2015Lyon0–0Lorient
9 Aug 2015Toulouse2–1Saint-Etienne
14 Aug 2015Monaco0–0Lille
15 Aug 2015Angers0–0Nantes
15 Aug 2015Saint-Etienne1–1Girondins Bordeaux
15 Aug 2015Caen1–0Toulouse
15 Aug 2015Troyes3–3Nice
15 Aug 2015Guingamp0–1Lyon
15 Aug 2015Rennes1–0Montpellier
16 Aug 2015Lorient1–1Bastia
16 Aug 2015Paris Saint-Germain2–0Ajaccio Gfco
16 Aug 2015Reims1–0Marseille
21 Aug 2015Montpellier0–1Paris Saint-Germain
22 Aug 2015Ajaccio Gfco0–2Angers
22 Aug 2015Bastia3–0Guingamp
22 Aug 2015Nantes1–0Reims
22 Aug 2015Nice2–1Caen
22 Aug 2015Lyon1–2Rennes
22 Aug 2015Toulouse1–1Monaco
23 Aug 2015Lorient0–1Saint-Etienne
23 Aug 2015Lille0–0Girondins Bordeaux
23 Aug 2015Marseille6–0Troyes
28 Aug 2015Guingamp2–0Marseille
29 Aug 2015Angers1–1Nice
29 Aug 2015Caen0–4Lyon
29 Aug 2015Troyes0–0Montpellier
29 Aug 2015Lille1–0Ajaccio Gfco
29 Aug 2015Reims4–1Lorient
29 Aug 2015Rennes3–1Toulouse
30 Aug 2015Monaco0–3Paris Saint-Germain
30 Aug 2015Saint-Etienne2–1Bastia
30 Aug 2015Girondins Bordeaux2–0Nantes
11 Sept 2015Paris Saint-Germain2–2Girondins Bordeaux
12 Sept 2015Troyes1–3Caen
12 Sept 2015Lorient3–1Angers
12 Sept 2015Montpellier1–2Saint-Etienne
12 Sept 2015Nice0–1Guingamp
12 Sept 2015Lyon0–0Lille
12 Sept 2015Toulouse2–2Reims
13 Sept 2015Ajaccio Gfco0–1Monaco
13 Sept 2015Nantes0–2Rennes
13 Sept 2015Marseille4–1Bastia
18 Sept 2015Rennes1–1Lille
19 Sept 2015Angers1–0Troyes
19 Sept 2015Bastia1–3Nice
19 Sept 2015Caen2–1Montpellier
19 Sept 2015Guingamp2–1Ajaccio Gfco
19 Sept 2015Reims1–1Paris Saint-Germain
20 Sept 2015Monaco2–3Lorient
20 Sept 2015Saint-Etienne2–0Nantes
20 Sept 2015Girondins Bordeaux1–1Toulouse
20 Sept 2015Marseille1–1Lyon
22 Sept 2015Angers0–0Reims
22 Sept 2015Paris Saint-Germain3–0Guingamp
23 Sept 2015Ajaccio Gfco1–1Rennes
23 Sept 2015Troyes0–1Saint-Etienne
23 Sept 2015Lorient2–0Caen
23 Sept 2015Nice6–1Girondins Bordeaux
23 Sept 2015Lyon2–0Bastia
23 Sept 2015Toulouse1–1Marseille
24 Sept 2015Montpellier2–3Monaco
25 Sept 2015Reims1–0Lille
26 Sept 2015Bastia3–0Toulouse
26 Sept 2015Caen2–0Ajaccio Gfco
26 Sept 2015Nantes1–4Paris Saint-Germain
26 Sept 2015Girondins Bordeaux3–1Lyon
26 Sept 2015Rennes1–1Troyes
27 Sept 2015Saint-Etienne1–4Nice
27 Sept 2015Guingamp3–3Monaco
27 Sept 2015Montpellier2–1Lorient
27 Sept 2015Marseille1–2Angers
29 Sept 2015Lille0–1Nantes
2 Oct 2015Lille2–0Montpellier
3 Oct 2015Ajaccio Gfco2–2Toulouse
3 Oct 2015Angers1–0Bastia
3 Oct 2015Troyes0–1Guingamp
3 Oct 2015Lyon1–0Reims
4 Oct 2015Monaco1–1Rennes
4 Oct 2015Caen1–0Saint-Etienne
4 Oct 2015Lorient3–2Girondins Bordeaux
4 Oct 2015Paris Saint-Germain2–1Marseille
16 Oct 2015Monaco1–1Lyon
17 Oct 2015Saint-Etienne2–0Ajaccio Gfco
17 Oct 2015Bastia0–2Paris Saint-Germain
17 Oct 2015Nantes3–0Troyes
17 Oct 2015Guingamp1–1Lille
17 Oct 2015Reims0–1Caen
17 Oct 2015Toulouse1–2Angers
18 Oct 2015Girondins Bordeaux0–0Montpellier
18 Oct 2015Marseille1–1Lorient
18 Oct 2015Rennes1–4Nice
23 Oct 2015Caen0–2Nantes
23 Oct 2015Lyon3–0Toulouse
24 Oct 2015Ajaccio Gfco3–1Nice
24 Oct 2015Angers0–0Guingamp
24 Oct 2015Lorient1–1Rennes
24 Oct 2015Montpellier2–0Bastia
25 Oct 2015Girondins Bordeaux1–0Troyes
25 Oct 2015Lille1–2Marseille
25 Oct 2015Paris Saint-Germain4–1Saint-Etienne
25 Oct 2015Reims0–1Monaco
30 Oct 2015Rennes0–1Paris Saint-Germain
31 Oct 2015Ajaccio Gfco2–0Girondins Bordeaux
31 Oct 2015Saint-Etienne3–0Reims
31 Oct 2015Bastia1–0Caen
31 Oct 2015Troyes0–1Lyon
31 Oct 2015Guingamp2–2Lorient
31 Oct 2015Toulouse1–1Montpellier
1 Nov 2015Monaco1–0Angers
1 Nov 2015Nantes0–1Marseille
1 Nov 2015Nice0–0Lille
4 Nov 2015Nice1–2Nantes
6 Nov 2015Angers0–2Rennes
7 Nov 2015Caen2–1Guingamp
7 Nov 2015Lorient4–1Troyes
7 Nov 2015Lille1–1Bastia
7 Nov 2015Montpellier2–1Nantes
7 Nov 2015Paris Saint-Germain5–0Toulouse
7 Nov 2015Reims1–2Ajaccio Gfco
8 Nov 2015Girondins Bordeaux3–1Monaco
8 Nov 2015Marseille0–1Nice
8 Nov 2015Lyon3–0Saint-Etienne
20 Nov 2015Nice3–0Lyon
21 Nov 2015Monaco1–0Nantes
21 Nov 2015Troyes1–1Lille
21 Nov 2015Lorient1–2Paris Saint-Germain
21 Nov 2015Guingamp2–0Toulouse
21 Nov 2015Montpellier3–1Reims
22 Nov 2015Saint-Etienne0–2Marseille
22 Nov 2015Bastia1–2Ajaccio Gfco
22 Nov 2015Caen0–0Angers
22 Nov 2015Rennes2–2Girondins Bordeaux
27 Nov 2015Lyon2–4Montpellier
28 Nov 2015Ajaccio Gfco1–1Lorient
28 Nov 2015Angers2–0Lille
28 Nov 2015Nantes0–0Bastia
28 Nov 2015Paris Saint-Germain4–1Troyes
28 Nov 2015Reims2–2Rennes
28 Nov 2015Toulouse2–0Nice
29 Nov 2015Saint-Etienne3–0Guingamp
29 Nov 2015Girondins Bordeaux1–4Caen
29 Nov 2015Marseille3–3Monaco
1 Dec 2015Angers0–0Paris Saint-Germain
1 Dec 2015Lorient0–0Nice
1 Dec 2015Nantes0–0Lyon
2 Dec 2015Monaco1–1Caen
2 Dec 2015Bastia1–0Girondins Bordeaux
2 Dec 2015Troyes0–3Toulouse
2 Dec 2015Guingamp1–2Reims
2 Dec 2015Lille1–0Saint-Etienne
2 Dec 2015Montpellier0–2Ajaccio Gfco
3 Dec 2015Rennes0–1Marseille
4 Dec 2015Nice0–3Paris Saint-Germain
5 Dec 2015Ajaccio Gfco1–1Nantes
5 Dec 2015Bastia1–2Monaco
5 Dec 2015Caen1–2Lille
5 Dec 2015Lyon0–2Angers
5 Dec 2015Reims1–1Troyes
5 Dec 2015Toulouse2–3Lorient
6 Dec 2015Saint-Etienne1–1Rennes
6 Dec 2015Girondins Bordeaux1–0Guingamp
6 Dec 2015Marseille2–2Montpellier
11 Dec 2015Rennes1–1Caen
12 Dec 2015Troyes1–1Bastia
12 Dec 2015Nantes1–1Toulouse
12 Dec 2015Lille3–0Lorient
12 Dec 2015Montpellier2–1Guingamp
12 Dec 2015Reims1–1Nice
13 Dec 2015Angers1–1Girondins Bordeaux
13 Dec 2015Monaco1–0Saint-Etienne
13 Dec 2015Marseille1–1Ajaccio Gfco
13 Dec 2015Paris Saint-Germain5–1Lyon
18 Dec 2015Nice1–0Montpellier
19 Dec 2015Bastia2–0Reims
19 Dec 2015Caen0–3Paris Saint-Germain
19 Dec 2015Troyes0–0Monaco
19 Dec 2015Lorient0–0Nantes
19 Dec 2015Guingamp0–2Rennes
19 Dec 2015Toulouse1–1Lille
20 Dec 2015Ajaccio Gfco2–1Lyon
20 Dec 2015Saint-Etienne1–0Angers
20 Dec 2015Girondins Bordeaux1–1Marseille
8 Jan 2016Paris Saint-Germain2–0Bastia
9 Jan 2016Angers2–0Caen
9 Jan 2016Monaco2–2Ajaccio Gfco
9 Jan 2016Montpellier0–1Girondins Bordeaux
9 Jan 2016Lyon4–1Troyes
9 Jan 2016Reims1–3Toulouse
9 Jan 2016Rennes2–2Lorient
10 Jan 2016Nantes2–1Saint-Etienne
10 Jan 2016Lille1–1Nice
10 Jan 2016Marseille0–0Guingamp
15 Jan 2016Nice2–1Angers
16 Jan 2016Ajaccio Gfco2–2Reims
16 Jan 2016Bastia1–0Montpellier
16 Jan 2016Troyes2–4Rennes
16 Jan 2016Girondins Bordeaux1–0Lille
16 Jan 2016Guingamp2–2Nantes
16 Jan 2016Toulouse0–1Paris Saint-Germain
17 Jan 2016Saint-Etienne1–0Lyon
17 Jan 2016Caen1–3Marseille
17 Jan 2016Lorient0–2Monaco
22 Jan 2016Rennes1–0Ajaccio Gfco
23 Jan 2016Nantes2–2Girondins Bordeaux
23 Jan 2016Guingamp1–0Bastia
23 Jan 2016Lille1–3Troyes
23 Jan 2016Montpellier1–2Caen
23 Jan 2016Nice2–1Lorient
23 Jan 2016Paris Saint-Germain5–1Angers
24 Jan 2016Monaco4–0Toulouse
24 Jan 2016Lyon1–1Marseille
24 Jan 2016Reims1–1Saint-Etienne
29 Jan 2016Marseille1–1Lille
30 Jan 2016Ajaccio Gfco0–4Montpellier
30 Jan 2016Angers3–0Monaco
30 Jan 2016Bastia1–0Lyon
30 Jan 2016Troyes0–1Nantes
30 Jan 2016Lorient2–0Reims
30 Jan 2016Toulouse1–2Guingamp
31 Jan 2016Saint-Etienne0–2Paris Saint-Germain
31 Jan 2016Caen2–0Nice
31 Jan 2016Girondins Bordeaux4–0Rennes
2 Feb 2016Monaco2–0Bastia
2 Feb 2016Montpellier0–1Marseille
3 Feb 2016Nantes3–1Ajaccio Gfco
3 Feb 2016Guingamp4–0Troyes
3 Feb 2016Lille1–0Caen
3 Feb 2016Nice1–0Toulouse
3 Feb 2016Lyon3–0Girondins Bordeaux
3 Feb 2016Paris Saint-Germain3–1Lorient
3 Feb 2016Reims2–1Angers
4 Feb 2016Rennes0–1Saint-Etienne
6 Feb 2016Ajaccio Gfco0–0Guingamp
6 Feb 2016Angers0–3Lyon
6 Feb 2016Monaco1–0Nice
6 Feb 2016Bastia2–0Troyes
6 Feb 2016Caen0–2Reims
6 Feb 2016Lorient1–1Montpellier
6 Feb 2016Toulouse0–0Nantes
7 Feb 2016Girondins Bordeaux1–4Saint-Etienne
7 Feb 2016Lille1–1Rennes
7 Feb 2016Marseille1–2Paris Saint-Germain
12 Feb 2016Rennes1–0Angers
13 Feb 2016Ajaccio Gfco2–3Troyes
13 Feb 2016Nantes2–1Lorient
13 Feb 2016Guingamp2–4Girondins Bordeaux
13 Feb 2016Montpellier2–0Toulouse
13 Feb 2016Paris Saint-Germain0–0Lille
13 Feb 2016Reims0–1Bastia
14 Feb 2016Saint-Etienne1–1Monaco
14 Feb 2016Nice1–1Marseille
14 Feb 2016Lyon4–1Caen
19 Feb 2016Girondins Bordeaux0–0Nice
20 Feb 2016Angers2–3Montpellier
20 Feb 2016Monaco3–1Troyes
20 Feb 2016Lorient4–3Guingamp
20 Feb 2016Paris Saint-Germain4–1Reims
20 Feb 2016Toulouse1–1Ajaccio Gfco
21 Feb 2016Caen1–0Rennes
21 Feb 2016Lille1–0Lyon
21 Feb 2016Marseille1–1Saint-Etienne
26 Feb 2016Nice0–2Bastia
27 Feb 2016Troyes0–1Lorient
27 Feb 2016Guingamp2–2Angers
27 Feb 2016Montpellier3–0Lille
27 Feb 2016Reims4–1Girondins Bordeaux
27 Feb 2016Toulouse1–2Rennes
28 Feb 2016Saint-Etienne1–2Caen
28 Feb 2016Nantes0–0Monaco
28 Feb 2016Lyon2–1Paris Saint-Germain
4 Mar 2016Caen2–2Monaco
5 Mar 2016Angers0–0Saint-Etienne
5 Mar 2016Bastia0–0Lorient
5 Mar 2016Girondins Bordeaux1–1Ajaccio Gfco
5 Mar 2016Lille2–0Reims
5 Mar 2016Nice2–1Troyes
5 Mar 2016Paris Saint-Germain0–0Montpellier
6 Mar 2016Marseille1–1Toulouse
6 Mar 2016Lyon5–1Guingamp
6 Mar 2016Rennes4–1Nantes
9 Mar 2016Ajaccio Gfco1–1Marseille
9 Mar 2016Bastia0–0Nantes
11 Mar 2016Monaco2–2Reims
12 Mar 2016Ajaccio Gfco1–0Caen
12 Mar 2016Bastia1–2Lille
12 Mar 2016Lorient1–1Marseille
12 Mar 2016Guingamp2–0Saint-Etienne
12 Mar 2016Montpellier0–2Nice
12 Mar 2016Toulouse4–0Girondins Bordeaux
13 Mar 2016Troyes0–9Paris Saint-Germain
13 Mar 2016Nantes2–0Angers
13 Mar 2016Rennes2–2Lyon
18 Mar 2016Marseille2–5Rennes
19 Mar 2016Angers5–1Lorient
19 Mar 2016Saint-Etienne3–0Montpellier
19 Mar 2016Caen2–1Troyes
19 Mar 2016Lille1–0Toulouse
19 Mar 2016Lyon2–0Nantes
19 Mar 2016Reims0–1Guingamp
20 Mar 2016Girondins Bordeaux1–1Bastia
20 Mar 2016Nice3–0Ajaccio Gfco
20 Mar 2016Paris Saint-Germain0–2Monaco
1 Apr 2016Monaco1–2Girondins Bordeaux
2 Apr 2016Ajaccio Gfco0–2Saint-Etienne
2 Apr 2016Troyes0–1Angers
2 Apr 2016Guingamp2–2Montpellier
2 Apr 2016Paris Saint-Germain4–1Nice
2 Apr 2016Rennes3–1Reims
2 Apr 2016Toulouse2–0Caen
3 Apr 2016Bastia2–1Marseille
3 Apr 2016Lorient1–3Lyon
3 Apr 2016Nantes0–3Lille
8 Apr 2016Montpellier0–2Lyon
9 Apr 2016Angers0–0Ajaccio Gfco
9 Apr 2016Saint-Etienne1–0Troyes
9 Apr 2016Caen1–2Lorient
9 Apr 2016Guingamp0–2Paris Saint-Germain
9 Apr 2016Reims2–1Nantes
9 Apr 2016Toulouse4–0Bastia
10 Apr 2016Lille4–1Monaco
10 Apr 2016Nice3–0Rennes
10 Apr 2016Marseille0–0Girondins Bordeaux
15 Apr 2016Lyon1–1Nice
16 Apr 2016Ajaccio Gfco2–4Lille
16 Apr 2016Bastia0–1Saint-Etienne
16 Apr 2016Troyes2–1Reims
16 Apr 2016Lorient1–1Toulouse
16 Apr 2016Girondins Bordeaux1–3Angers
16 Apr 2016Paris Saint-Germain6–0Caen
17 Apr 2016Monaco2–1Marseille
17 Apr 2016Nantes0–2Montpellier
17 Apr 2016Rennes0–3Guingamp
22 Apr 2016Nice2–0Reims
23 Apr 2016Toulouse2–3Lyon
24 Apr 2016Ajaccio Gfco3–2Bastia
24 Apr 2016Saint-Etienne2–0Lorient
24 Apr 2016Guingamp1–1Caen
24 Apr 2016Montpellier4–1Troyes
24 Apr 2016Marseille1–1Nantes
24 Apr 2016Rennes1–1Monaco
27 Apr 2016Lille0–0Angers
29 Apr 2016Paris Saint-Germain4–0Rennes
30 Apr 2016Monaco3–2Guingamp
30 Apr 2016Saint-Etienne0–0Toulouse
30 Apr 2016Caen0–0Bastia
30 Apr 2016Troyes2–4Girondins Bordeaux
30 Apr 2016Lorient0–1Lille
30 Apr 2016Nantes1–0Nice
30 Apr 2016Lyon2–1Ajaccio Gfco
30 Apr 2016Reims2–3Montpellier
1 May 2016Angers0–1Marseille
7 May 2016Ajaccio Gfco0–4Paris Saint-Germain
7 May 2016Bastia1–0Angers
7 May 2016Nantes1–2Caen
7 May 2016Girondins Bordeaux3–0Lorient
7 May 2016Lille0–0Guingamp
7 May 2016Montpellier2–0Rennes
7 May 2016Nice2–0Saint-Etienne
7 May 2016Marseille1–0Reims
7 May 2016Lyon6–1Monaco
7 May 2016Toulouse1–0Troyes
11 May 2016Girondins Bordeaux1–1Paris Saint-Germain
14 May 2016Angers2–3Toulouse
14 May 2016Monaco2–0Montpellier
14 May 2016Saint-Etienne0–1Lille
14 May 2016Caen1–0Girondins Bordeaux
14 May 2016Troyes1–1Marseille
14 May 2016Lorient1–0Ajaccio Gfco
14 May 2016Guingamp2–3Nice
14 May 2016Paris Saint-Germain4–0Nantes
14 May 2016Reims4–1Lyon
14 May 2016Rennes1–2Bastia

Regular-season matches only; playoffs are excluded. Results through 14 May 2016.

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.