France

Ligue 1 2016/17 final table, results and top scorers

The 2016/17 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
1Monaco383053107:31+7695
2Paris Saint-Germain38276583:27+5687
3Nice382212463:36+2778
4Lyon382051377:48+2965
5Marseille3817111057:41+1662
6Bordeaux381514953:43+1059
7Nantes381491540:54−1451
8Saint-Étienne3812141241:42−150
9Rennes3812141236:42−650
10Guingamp381481646:53−750
11Lille381371840:47−746
12Angers381371840:49−946
13Toulouse3810141437:41−444
14Metz3811101739:72−3343
15Montpellier381091948:66−1839
16Dijon388131746:58−1237
17Caen381072136:65−2937
18Lorient381062244:70−2636
19Nancy38982129:52−2335
20SC Bastia388111929:54−2535

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

Player boards

Top scorers

Player boards · Top scorers
#PlayerGoals
1Edinson Cavani
Paris Saint-Germain
35
2Alexandre Lacazette
Lyon
28
3Radamel Falcao
Monaco
21

Penalties scored

Player boards · Penalties scored
#PlayerGoals
1Alexandre Lacazette
Lyon
10
2Edinson Cavani
Paris Saint-Germain
7
3Fabinho
Monaco
7

Hat-tricks

Player boards · Hat-tricks
#PlayerHat-tricks
1Alassane Pléa
Nice
1
2Alexandre Lacazette
Lyon
1
3Bafétimbi Gomis
Marseille
1
4Casimir Ninga
Montpellier
1
5Edinson Cavani
Paris Saint-Germain
1
6Florian Thauvin
Marseille
1
7Kylian Mbappé
Monaco
1
8Mevlüt Erdinç
Metz
1
9Nicolas de Préville
Lille
1
10Ola Toivonen
Toulouse
1

Yellow cards

Player boards · Yellow cards
#PlayerYellow
1Steeve Yago
Toulouse
13
2Renaud Cohade
Metz
12
3Yannick Cahuzac
SC Bastia
11

The season's records

Biggest win: Metz 0–7 Monaco (1 Oct 2016)

Highest-scoring game: Monaco 6–2 Montpellier (21 Oct 2016)

All results

May 2017 · 31 matches
All results · May 2017
DateMatchScore
5 MaySaint-Étienne – Bordeaux2–2
6 MayGuingamp – Dijon4–0
6 MayLille – Metz0–2
6 MayLorient – Angers1–1
6 MayNancy – Monaco0–3
6 MayParis Saint-Germain – SC Bastia5–0
6 MayToulouse – Caen0–1
7 MayLyon – Nantes3–2
7 MayMarseille – Nice2–1
7 MayRennes – Montpellier1–0
14 MayBordeaux – Marseille1–1
14 MayCaen – Rennes0–1
14 MayDijon – Nancy2–0
14 MayMetz – Toulouse1–1
14 MayMonaco – Lille4–0
14 MayMontpellier – Lyon1–3
14 MayNantes – Guingamp4–1
14 MayNice – Angers0–2
14 MaySC Bastia – Lorient2–0
14 MaySaint-Étienne – Paris Saint-Germain0–5
17 MayMonaco – Saint-Étienne2–0
20 MayAngers – Montpellier2–0
20 MayGuingamp – Metz1–0
20 MayLille – Nantes3–0
20 MayLorient – Bordeaux1–1
20 MayLyon – Nice3–3
20 MayMarseille – SC Bastia1–0
20 MayNancy – Saint-Étienne3–1
20 MayParis Saint-Germain – Caen1–1
20 MayRennes – Monaco2–3
20 MayToulouse – Dijon0–0
April 2017 · 49 matches
All results · April 2017
DateMatchScore
1 AprMarseille – Dijon1–1
1 AprSC Bastia – Lille0–1
2 AprLorient – Caen1–0
2 AprMontpellier – Toulouse0–1
2 AprNantes – Angers2–1
2 AprNice – Bordeaux2–1
2 AprRennes – Lyon1–1
5 AprMetz – Lyon0–3
7 AprLille – Nice1–2
8 AprAngers – Monaco0–1
8 AprBordeaux – Metz3–0
8 AprCaen – Montpellier0–2
8 AprDijon – SC Bastia1–2
8 AprLyon – Lorient1–4
8 AprNancy – Rennes3–0
9 AprParis Saint-Germain – Guingamp4–0
9 AprSaint-Étienne – Nantes1–1
9 AprToulouse – Marseille0–0
14 AprAngers – Paris Saint-Germain0–2
15 AprGuingamp – Toulouse2–1
15 AprMetz – Caen2–2
15 AprMonaco – Dijon2–1
15 AprMontpellier – Lorient2–0
15 AprNice – Nancy3–1
15 AprRennes – Lille2–0
16 AprMarseille – Saint-Étienne4–0
16 AprNantes – Bordeaux0–1
16 AprSC Bastia – Lyon0–0
18 AprMetz – Paris Saint-Germain2–3
21 AprNancy – Marseille0–0
22 AprBordeaux – SC Bastia2–0
22 AprCaen – Nantes0–2
22 AprDijon – Angers3–2
22 AprLille – Guingamp3–0
22 AprLorient – Metz5–1
22 AprParis Saint-Germain – Montpellier2–0
23 AprLyon – Monaco1–2
23 AprSaint-Étienne – Rennes1–1
23 AprToulouse – Nice1–1
28 AprAngers – Lyon1–2
29 AprGuingamp – Saint-Étienne0–2
29 AprMetz – Nancy2–1
29 AprMonaco – Toulouse3–1
29 AprMontpellier – Lille0–3
29 AprNantes – Lorient1–0
29 AprSC Bastia – Rennes1–0
30 AprCaen – Marseille1–5
30 AprDijon – Bordeaux0–0
30 AprNice – Paris Saint-Germain3–1
March 2017 · 32 matches
All results · March 2017
DateMatchScore
1 MarSC Bastia – Nantes2–2
3 MarBordeaux – Lyon1–1
4 MarCaen – Angers2–3
4 MarDijon – Nice0–1
4 MarMetz – Rennes1–1
4 MarMontpellier – Guingamp1–1
4 MarParis Saint-Germain – Nancy1–0
4 MarSC Bastia – Saint-Étienne0–0
5 MarLorient – Marseille1–4
5 MarMonaco – Nantes4–0
5 MarToulouse – Lille1–1
10 MarMarseille – Angers3–0
10 MarNice – Caen2–2
11 MarGuingamp – SC Bastia5–0
11 MarMonaco – Bordeaux2–1
11 MarMontpellier – Nantes2–3
11 MarNancy – Lille1–2
11 MarRennes – Dijon1–1
12 MarLorient – Paris Saint-Germain1–2
12 MarLyon – Toulouse4–0
12 MarSaint-Étienne – Metz2–2
17 MarLille – Marseille0–0
17 MarMetz – SC Bastia1–0
18 MarAngers – Guingamp3–0
18 MarBordeaux – Montpellier5–1
18 MarNancy – Lorient2–3
18 MarNantes – Nice1–1
18 MarToulouse – Rennes0–0
19 MarCaen – Monaco0–3
19 MarDijon – Saint-Étienne0–1
19 MarParis Saint-Germain – Lyon2–1
31 MarGuingamp – Nancy1–0
February 2017 · 50 matches
All results · February 2017
DateMatchScore
3 FebMetz – Marseille1–0
4 FebBordeaux – Rennes1–1
4 FebDijon – Paris Saint-Germain1–3
4 FebGuingamp – Caen0–1
4 FebLille – Lorient0–1
4 FebMonaco – Nice3–0
4 FebMontpellier – SC Bastia2–1
5 FebNantes – Nancy0–2
5 FebSaint-Étienne – Lyon2–0
5 FebToulouse – Angers4–0
7 FebCaen – Bordeaux0–4
7 FebMontpellier – Monaco1–2
7 FebParis Saint-Germain – Lille2–1
8 FebAngers – Rennes0–0
8 FebLorient – Toulouse1–1
8 FebLyon – Nancy4–0
8 FebMarseille – Guingamp2–0
8 FebMetz – Dijon2–1
8 FebNice – Saint-Étienne1–0
10 FebBordeaux – Paris Saint-Germain0–3
11 FebDijon – Caen2–0
11 FebGuingamp – Lyon2–1
11 FebLille – Angers1–2
11 FebMonaco – Metz5–0
11 FebNancy – Montpellier0–3
11 FebToulouse – SC Bastia4–1
12 FebNantes – Marseille3–2
12 FebRennes – Nice2–2
12 FebSaint-Étienne – Lorient4–0
17 FebSC Bastia – Monaco1–1
18 FebAngers – Nancy1–0
18 FebCaen – Lille0–1
18 FebLorient – Nice0–1
18 FebMarseille – Rennes2–0
18 FebMetz – Nantes1–1
19 FebBordeaux – Guingamp3–0
19 FebLyon – Dijon4–2
19 FebMontpellier – Saint-Étienne2–1
19 FebParis Saint-Germain – Toulouse0–0
21 FebCaen – Nancy1–0
24 FebNantes – Dijon3–1
24 FebNice – Montpellier2–1
25 FebAngers – SC Bastia3–0
25 FebGuingamp – Monaco1–2
25 FebLille – Bordeaux2–3
25 FebNancy – Toulouse0–0
25 FebRennes – Lorient1–0
26 FebLyon – Metz5–0
26 FebMarseille – Paris Saint-Germain1–5
26 FebSaint-Étienne – Caen0–1
January 2017 · 30 matches
All results · January 2017
DateMatchScore
13 JanLille – Saint-Étienne1–1
14 JanAngers – Bordeaux1–1
14 JanLorient – Guingamp3–1
14 JanMontpellier – Dijon1–1
14 JanNancy – SC Bastia1–0
14 JanRennes – Paris Saint-Germain0–1
14 JanToulouse – Nantes0–1
15 JanCaen – Lyon3–2
15 JanMarseille – Monaco1–4
15 JanNice – Metz0–0
18 JanNantes – Caen1–0
20 JanSC Bastia – Nice1–1
21 JanBordeaux – Toulouse1–0
21 JanDijon – Lille0–0
21 JanGuingamp – Rennes1–1
21 JanMetz – Montpellier2–0
21 JanNantes – Paris Saint-Germain0–2
22 JanLyon – Marseille3–1
22 JanMonaco – Lorient4–0
22 JanSaint-Étienne – Angers2–1
27 JanMarseille – Montpellier5–1
28 JanAngers – Metz2–1
28 JanLorient – Dijon2–3
28 JanLyon – Lille1–2
28 JanNancy – Bordeaux0–2
28 JanRennes – Nantes1–1
28 JanSC Bastia – Caen1–1
29 JanNice – Guingamp3–1
29 JanParis Saint-Germain – Monaco1–1
29 JanToulouse – Saint-Étienne0–3
December 2016 · 38 matches
All results · December 2016
DateMatchScore
2 DecCaen – Dijon3–3
3 DecAngers – Lorient2–2
3 DecBordeaux – Lille0–1
3 DecGuingamp – Nantes2–0
3 DecMonaco – SC Bastia5–0
3 DecMontpellier – Paris Saint-Germain3–0
4 DecMarseille – Nancy3–0
4 DecNice – Toulouse3–0
4 DecRennes – Saint-Étienne2–0
10 DecBordeaux – Monaco0–4
10 DecDijon – Marseille1–2
10 DecLille – Montpellier2–1
10 DecNancy – Angers2–0
10 DecSC Bastia – Metz2–0
10 DecToulouse – Lorient3–2
11 DecLyon – Rennes1–0
11 DecParis Saint-Germain – Nice2–2
11 DecSaint-Étienne – Guingamp1–0
16 DecAngers – Nantes0–2
17 DecGuingamp – Paris Saint-Germain2–1
17 DecLorient – Saint-Étienne2–1
17 DecMontpellier – Bordeaux4–0
17 DecRennes – SC Bastia1–2
17 DecToulouse – Nancy1–1
18 DecCaen – Metz3–0
18 DecMarseille – Lille2–0
18 DecMonaco – Lyon1–3
18 DecNice – Dijon2–1
21 DecBordeaux – Nice0–0
21 DecDijon – Toulouse2–0
21 DecLille – Rennes1–1
21 DecLyon – Angers2–0
21 DecMetz – Guingamp2–2
21 DecMonaco – Caen2–1
21 DecNantes – Montpellier1–0
21 DecParis Saint-Germain – Lorient5–0
21 DecSC Bastia – Marseille1–2
21 DecSaint-Étienne – Nancy0–0
November 2016 · 40 matches
All results · November 2016
DateMatchScore
4 NovMontpellier – Marseille3–1
5 NovAngers – Lille1–0
5 NovBordeaux – Lorient2–1
5 NovDijon – Guingamp3–3
5 NovLyon – SC Bastia2–1
5 NovMonaco – Nancy6–0
5 NovNantes – Toulouse1–1
6 NovCaen – Nice1–0
6 NovMetz – Saint-Étienne0–0
6 NovParis Saint-Germain – Rennes4–0
18 NovLille – Lyon0–1
18 NovLorient – Monaco0–3
19 NovNancy – Dijon1–0
19 NovParis Saint-Germain – Nantes2–0
19 NovRennes – Angers1–1
19 NovSC Bastia – Montpellier1–1
19 NovToulouse – Metz1–2
20 NovGuingamp – Bordeaux1–1
20 NovMarseille – Caen1–0
20 NovSaint-Étienne – Nice0–1
25 NovRennes – Toulouse1–0
26 NovBordeaux – Dijon3–2
26 NovCaen – Guingamp1–1
26 NovMetz – Lorient3–3
26 NovMonaco – Marseille4–0
26 NovMontpellier – Nancy0–0
26 NovNantes – Lille0–0
27 NovAngers – Saint-Étienne1–2
27 NovLyon – Paris Saint-Germain1–2
27 NovNice – SC Bastia1–1
29 NovDijon – Monaco1–1
29 NovLille – Caen4–2
29 NovLorient – Rennes2–1
30 NovGuingamp – Nice0–1
30 NovNancy – Metz4–0
30 NovNantes – Lyon0–6
30 NovParis Saint-Germain – Angers2–0
30 NovSC Bastia – Bordeaux1–1
30 NovSaint-Étienne – Marseille0–0
30 NovToulouse – Montpellier1–0
October 2016 · 39 matches
All results · October 2016
DateMatchScore
1 OctCaen – Toulouse1–0
1 OctDijon – Montpellier3–3
1 OctLille – Nancy1–0
1 OctMetz – Monaco0–7
1 OctNantes – SC Bastia1–0
1 OctParis Saint-Germain – Bordeaux2–0
2 OctAngers – Marseille1–1
2 OctLyon – Saint-Étienne2–0
2 OctNice – Lorient2–1
14 OctNice – Lyon2–0
14 OctToulouse – Monaco3–1
15 OctGuingamp – Lille1–0
15 OctLorient – Nantes1–2
15 OctMontpellier – Caen3–2
15 OctNancy – Paris Saint-Germain1–2
15 OctSC Bastia – Angers1–2
16 OctMarseille – Metz1–0
16 OctRennes – Bordeaux1–1
16 OctSaint-Étienne – Dijon1–1
21 OctMonaco – Montpellier6–2
22 OctAngers – Toulouse0–0
22 OctBordeaux – Nancy1–1
22 OctDijon – Lorient1–0
22 OctLille – SC Bastia2–1
22 OctLyon – Guingamp1–3
22 OctNantes – Rennes1–2
23 OctCaen – Saint-Étienne0–2
23 OctMetz – Nice2–4
23 OctParis Saint-Germain – Marseille0–0
28 OctLille – Paris Saint-Germain0–1
29 OctGuingamp – Angers1–0
29 OctLorient – Montpellier2–2
29 OctNancy – Caen2–0
29 OctSC Bastia – Dijon0–0
29 OctSaint-Étienne – Monaco1–1
29 OctToulouse – Lyon1–2
30 OctMarseille – Bordeaux0–0
30 OctNice – Nantes4–1
30 OctRennes – Metz1–0
September 2016 · 41 matches
All results · September 2016
DateMatchScore
9 SepParis Saint-Germain – Saint-Étienne1–1
10 SepAngers – Dijon3–1
10 SepGuingamp – Montpellier1–1
10 SepLille – Monaco1–4
10 SepLorient – Nancy0–2
10 SepLyon – Bordeaux1–3
10 SepSC Bastia – Toulouse2–1
11 SepNantes – Metz0–3
11 SepNice – Marseille3–2
11 SepRennes – Caen2–0
16 SepCaen – Paris Saint-Germain0–6
17 SepBordeaux – Angers0–1
17 SepDijon – Metz0–0
17 SepLorient – Lille1–0
17 SepMonaco – Rennes3–0
17 SepNancy – Nantes1–1
17 SepToulouse – Guingamp2–1
18 SepMarseille – Lyon0–0
18 SepMontpellier – Nice1–1
18 SepSaint-Étienne – SC Bastia1–0
20 SepLille – Toulouse1–2
20 SepParis Saint-Germain – Dijon3–0
21 SepAngers – Caen2–1
21 SepGuingamp – Lorient1–0
21 SepLyon – Montpellier5–1
21 SepMetz – Bordeaux0–3
21 SepNantes – Saint-Étienne0–0
21 SepNice – Monaco4–0
21 SepRennes – Marseille3–2
21 SepSC Bastia – Nancy0–0
23 SepToulouse – Paris Saint-Germain2–0
24 SepBordeaux – Caen0–0
24 SepDijon – Rennes3–0
24 SepLorient – Lyon1–0
24 SepMonaco – Angers2–1
24 SepMontpellier – Metz0–1
24 SepSC Bastia – Guingamp1–0
25 SepMarseille – Nantes2–1
25 SepNancy – Nice0–1
25 SepSaint-Étienne – Lille3–1
30 SepRennes – Guingamp1–0
August 2016 · 30 matches
All results · August 2016
DateMatchScore
12 AugMonaco – Guingamp2–2
12 AugSC Bastia – Paris Saint-Germain0–1
13 AugBordeaux – Saint-Étienne3–2
13 AugCaen – Lorient3–2
13 AugDijon – Nantes0–1
13 AugMetz – Lille3–2
13 AugMontpellier – Angers1–0
14 AugMarseille – Toulouse0–0
14 AugNancy – Lyon0–3
14 AugNice – Rennes1–0
19 AugLyon – Caen2–0
20 AugAngers – Nice0–1
20 AugLille – Dijon1–0
20 AugLorient – SC Bastia0–3
20 AugNantes – Monaco0–1
20 AugRennes – Nancy2–0
20 AugToulouse – Bordeaux4–1
21 AugGuingamp – Marseille2–1
21 AugParis Saint-Germain – Metz3–0
21 AugSaint-Étienne – Montpellier3–1
26 AugMarseille – Lorient2–0
27 AugCaen – SC Bastia2–0
27 AugDijon – Lyon4–2
27 AugMetz – Angers2–0
27 AugMontpellier – Rennes1–1
27 AugNancy – Guingamp0–2
27 AugNice – Lille1–1
28 AugBordeaux – Nantes1–0
28 AugMonaco – Paris Saint-Germain3–1
28 AugSaint-Étienne – Toulouse0–0

League rounds, 90 minutes, by month.

Referees

Referees
RefereeMatches
Ruddy Buquet24
Benoît Millot23
Mikael Lesage23
Amaury Delerue22
Benoît Bastien22
Frank Schneider22
François Letexier22
Johan Hamel22
Bartolomeu Varela Teles21
Clement Turpin21
Jerome Miguelgorry21
Olivier Thual21
Tony Chapron20
Karim Abed19
Antony Gautier17
Sébastien Desiage17
Nicolas Rainville10
Lionel Jaffredo8
Brisard Jerome7
Stephane Lannoy6
Sebastien Moreira5
Said Ennjimi4
Fredy Fautrel3

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.