France

Ligue 1 2017/18 final table, results and top scorers

The 2017/18 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
1Paris Saint-Germain382963108:29+7993
2Monaco38248685:45+4080
3Lyon38239687:43+4478
4Marseille382211580:47+3377
5Rennes3816101250:44+658
6Bordeaux381671553:48+555
7Saint-Étienne3815101347:50−355
8Nice381591453:52+154
9Nantes3814101436:41−552
10Montpellier381118936:33+351
11Dijon381391655:73−1848
12Guingamp3812111548:59−1147
13Amiens381291737:42−545
14Angers389141542:52−1041
15Strasbourg389111844:67−2338
16Caen381082027:52−2538
17Lille381082041:67−2638
18Toulouse389101938:54−1637
19Troyes38962332:59−2733
20Metz38682434:76−4226

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
28
2Florian Thauvin
Marseille
22
3Memphis Depay
Lyon
19
4Neymar
Paris Saint-Germain
19

Penalties scored

Player boards · Penalties scored
#PlayerGoals
1Mario Balotelli
Nice
6
2Ivan Santini
Caen
5
3Emiliano Sala
Nantes
4
4Fabinho
Monaco
4
5Jonathan Bamba
Saint-Étienne
4
6Max Gradel
Toulouse
4
7Neymar
Paris Saint-Germain
4

Hat-tricks

Player boards · Hat-tricks
#PlayerHat-tricks
1Memphis Depay
Lyon
2
2Alassane Pléa
Nice
1
3Florian Thauvin
Marseille
1
4Neymar
Paris Saint-Germain
1
5Radamel Falcao
Monaco
1
6Romain Hamouma
Saint-Étienne
1

Yellow cards

Player boards · Yellow cards
#PlayerYellow
1Benjamin André
Rennes
12
2Frédéric Guilbert
Caen
12
3Dante
Nice
11
4Mario Balotelli
Nice
11
5Pedro Mendes
Montpellier
11

The season's records

Biggest win: Paris Saint-Germain 8–0 Dijon (17 Jan 2018)

Highest-scoring game: Marseille 6–3 Metz (2 Feb 2018)

All results

May 2018 · 30 matches
All results · May 2018
DateMatchScore
4 MayAmiens – Paris Saint-Germain2–2
6 MayCaen – Monaco1–2
6 MayDijon – Guingamp3–1
6 MayLyon – Troyes3–0
6 MayMarseille – Nice2–1
6 MayMetz – Angers1–2
6 MayNantes – Montpellier0–2
6 MayRennes – Strasbourg2–1
6 MaySaint-Étienne – Bordeaux1–3
6 MayToulouse – Lille2–3
11 MayGuingamp – Marseille3–3
12 MayAmiens – Metz2–0
12 MayAngers – Nantes0–2
12 MayBordeaux – Toulouse4–2
12 MayLille – Dijon2–1
12 MayMonaco – Saint-Étienne1–0
12 MayMontpellier – Troyes1–1
12 MayNice – Caen4–1
12 MayParis Saint-Germain – Rennes0–2
12 MayStrasbourg – Lyon3–2
19 MayCaen – Paris Saint-Germain0–0
19 MayDijon – Angers2–1
19 MayLyon – Nice3–2
19 MayMarseille – Amiens2–1
19 MayMetz – Bordeaux0–4
19 MayNantes – Strasbourg1–0
19 MayRennes – Montpellier1–1
19 MaySaint-Étienne – Lille5–0
19 MayToulouse – Guingamp2–1
19 MayTroyes – Monaco0–3
April 2018 · 48 matches
All results · April 2018
DateMatchScore
1 AprCaen – Montpellier1–3
1 AprGuingamp – Bordeaux2–1
1 AprLille – Amiens0–1
1 AprLyon – Toulouse2–0
1 AprNantes – Saint-Étienne0–3
1 AprStrasbourg – Metz2–2
1 AprTroyes – Nice0–2
4 AprRennes – Monaco1–1
6 AprSaint-Étienne – Paris Saint-Germain1–1
7 AprAmiens – Caen3–0
7 AprAngers – Strasbourg1–1
7 AprBordeaux – Lille2–1
7 AprGuingamp – Troyes4–0
7 AprMonaco – Nantes2–1
7 AprToulouse – Dijon0–1
8 AprMarseille – Montpellier0–0
8 AprMetz – Lyon0–5
8 AprNice – Rennes1–1
13 AprAngers – Nice1–1
14 AprLille – Guingamp2–2
14 AprLyon – Amiens3–0
14 AprNantes – Dijon1–1
14 AprRennes – Metz1–2
14 AprStrasbourg – Saint-Étienne0–1
15 AprMontpellier – Bordeaux1–3
15 AprParis Saint-Germain – Monaco7–1
15 AprTroyes – Marseille2–3
20 AprDijon – Lyon2–5
20 AprNantes – Rennes1–1
21 AprAmiens – Strasbourg3–1
21 AprGuingamp – Monaco3–1
21 AprMarseille – Lille5–1
21 AprMetz – Caen1–1
21 AprToulouse – Angers2–0
22 AprBordeaux – Paris Saint-Germain0–1
22 AprNice – Montpellier1–0
22 AprSaint-Étienne – Troyes2–1
25 AprCaen – Toulouse0–0
27 AprMontpellier – Saint-Étienne0–1
28 AprBordeaux – Dijon3–1
28 AprLille – Metz3–1
28 AprLyon – Nantes2–0
28 AprMonaco – Amiens0–0
28 AprStrasbourg – Nice1–1
28 AprTroyes – Caen3–1
29 AprAngers – Marseille1–1
29 AprParis Saint-Germain – Guingamp2–2
29 AprRennes – Toulouse2–1
March 2018 · 32 matches
All results · March 2018
DateMatchScore
2 MarMonaco – Bordeaux2–1
2 MarNice – Lille2–1
3 MarAmiens – Rennes0–2
3 MarAngers – Guingamp3–0
3 MarMetz – Toulouse1–1
3 MarSaint-Étienne – Dijon2–2
3 MarTroyes – Paris Saint-Germain0–2
4 MarCaen – Strasbourg2–0
4 MarMarseille – Nantes1–1
4 MarMontpellier – Lyon1–1
9 MarStrasbourg – Monaco1–3
10 MarBordeaux – Angers0–0
10 MarDijon – Amiens1–1
10 MarLille – Montpellier1–1
10 MarNantes – Troyes1–0
10 MarParis Saint-Germain – Metz5–0
10 MarRennes – Saint-Étienne1–1
11 MarGuingamp – Nice2–5
11 MarLyon – Caen1–0
11 MarToulouse – Marseille1–2
14 MarParis Saint-Germain – Angers2–1
16 MarMonaco – Lille2–1
17 MarAmiens – Troyes1–1
17 MarAngers – Caen3–0
17 MarBordeaux – Rennes0–2
17 MarMontpellier – Dijon2–2
17 MarToulouse – Strasbourg2–2
18 MarMarseille – Lyon2–3
18 MarMetz – Nantes1–1
18 MarNice – Paris Saint-Germain1–2
18 MarSaint-Étienne – Guingamp2–0
31 MarDijon – Marseille1–3
February 2018 · 40 matches
All results · February 2018
DateMatchScore
2 FebMarseille – Metz6–3
3 FebAmiens – Saint-Étienne0–2
3 FebLille – Paris Saint-Germain0–3
3 FebMontpellier – Angers2–1
3 FebNice – Toulouse0–1
3 FebStrasbourg – Bordeaux0–2
4 FebCaen – Nantes3–2
4 FebMonaco – Lyon3–2
4 FebRennes – Guingamp0–1
9 FebSaint-Étienne – Marseille2–2
10 FebAngers – Monaco0–4
10 FebBordeaux – Amiens3–2
10 FebDijon – Nice3–2
10 FebGuingamp – Caen0–0
10 FebMetz – Montpellier0–1
10 FebToulouse – Paris Saint-Germain0–1
11 FebLyon – Rennes0–2
11 FebNantes – Lille2–2
11 FebStrasbourg – Troyes2–1
16 FebMonaco – Dijon4–0
17 FebAmiens – Toulouse0–0
17 FebAngers – Saint-Étienne0–1
17 FebCaen – Rennes2–2
17 FebMontpellier – Guingamp1–1
17 FebParis Saint-Germain – Strasbourg5–2
17 FebTroyes – Metz1–0
18 FebLille – Lyon2–2
18 FebMarseille – Bordeaux1–0
18 FebNice – Nantes1–1
20 FebTroyes – Dijon0–0
23 FebStrasbourg – Montpellier0–0
24 FebDijon – Caen2–0
24 FebGuingamp – Metz2–2
24 FebLille – Angers1–2
24 FebNantes – Amiens0–1
24 FebRennes – Troyes2–0
24 FebToulouse – Monaco3–3
25 FebBordeaux – Nice0–0
25 FebLyon – Saint-Étienne1–1
25 FebParis Saint-Germain – Marseille3–0
January 2018 · 40 matches
All results · January 2018
DateMatchScore
12 JanStrasbourg – Guingamp0–2
13 JanCaen – Lille0–1
13 JanDijon – Metz1–1
13 JanMontpellier – Monaco0–0
13 JanNice – Amiens1–0
13 JanRennes – Marseille0–3
13 JanTroyes – Bordeaux0–1
14 JanLyon – Angers1–1
14 JanNantes – Paris Saint-Germain0–1
14 JanSaint-Étienne – Toulouse2–0
16 JanBordeaux – Caen0–2
16 JanMarseille – Strasbourg2–0
16 JanMonaco – Nice2–2
17 JanAmiens – Montpellier1–1
17 JanAngers – Troyes3–1
17 JanGuingamp – Lyon0–2
17 JanLille – Rennes1–2
17 JanMetz – Saint-Étienne3–0
17 JanParis Saint-Germain – Dijon8–0
17 JanToulouse – Nantes1–1
19 JanCaen – Marseille0–2
20 JanAmiens – Guingamp3–1
20 JanMontpellier – Toulouse2–1
20 JanNantes – Bordeaux0–1
20 JanRennes – Angers1–0
20 JanStrasbourg – Dijon3–2
20 JanTroyes – Lille1–0
21 JanLyon – Paris Saint-Germain2–1
21 JanMonaco – Metz3–1
21 JanNice – Saint-Étienne1–0
26 JanDijon – Rennes2–1
27 JanAngers – Amiens1–0
27 JanGuingamp – Nantes0–3
27 JanMetz – Nice2–1
27 JanParis Saint-Germain – Montpellier4–0
27 JanSaint-Étienne – Caen2–1
27 JanToulouse – Troyes1–0
28 JanBordeaux – Lyon3–1
28 JanLille – Strasbourg2–1
28 JanMarseille – Monaco2–2
December 2017 · 40 matches
All results · December 2017
DateMatchScore
1 DecDijon – Bordeaux3–2
2 DecLille – Toulouse1–0
2 DecMonaco – Angers1–0
2 DecNice – Metz3–1
2 DecRennes – Amiens2–0
2 DecStrasbourg – Paris Saint-Germain2–1
2 DecTroyes – Guingamp0–1
3 DecCaen – Lyon1–2
3 DecMontpellier – Marseille1–1
3 DecSaint-Étienne – Nantes1–1
8 DecBordeaux – Strasbourg0–3
9 DecAngers – Montpellier1–1
9 DecGuingamp – Dijon4–0
9 DecMetz – Rennes1–1
9 DecMonaco – Troyes3–2
9 DecParis Saint-Germain – Lille3–1
9 DecToulouse – Caen2–0
10 DecAmiens – Lyon1–2
10 DecMarseille – Saint-Étienne3–0
10 DecNantes – Nice1–2
15 DecSaint-Étienne – Monaco0–4
16 DecCaen – Guingamp0–0
16 DecDijon – Lille3–0
16 DecMontpellier – Metz1–3
16 DecRennes – Paris Saint-Germain1–4
16 DecStrasbourg – Toulouse2–1
16 DecTroyes – Amiens1–0
17 DecLyon – Marseille2–0
17 DecNantes – Angers1–0
17 DecNice – Bordeaux1–0
20 DecAmiens – Nantes0–1
20 DecAngers – Dijon2–1
20 DecBordeaux – Montpellier0–2
20 DecGuingamp – Saint-Étienne2–1
20 DecLille – Nice1–1
20 DecMarseille – Troyes3–1
20 DecMetz – Strasbourg3–0
20 DecMonaco – Rennes2–1
20 DecParis Saint-Germain – Caen3–1
20 DecToulouse – Lyon1–2
November 2017 · 41 matches
All results · November 2017
DateMatchScore
3 NovRennes – Bordeaux1–0
4 NovAngers – Paris Saint-Germain0–5
4 NovMonaco – Guingamp6–0
4 NovMontpellier – Amiens1–1
4 NovNantes – Toulouse2–1
4 NovTroyes – Strasbourg3–0
5 NovMarseille – Caen5–0
5 NovMetz – Lille0–3
5 NovNice – Dijon1–0
5 NovSaint-Étienne – Lyon0–5
17 NovAmiens – Monaco1–1
17 NovLille – Saint-Étienne3–1
18 NovDijon – Troyes3–1
18 NovGuingamp – Angers1–1
18 NovParis Saint-Germain – Nantes4–1
18 NovStrasbourg – Rennes2–1
18 NovToulouse – Metz0–0
19 NovBordeaux – Marseille1–1
19 NovCaen – Nice1–1
19 NovLyon – Montpellier0–0
20 NovAmiens – Lille3–0
24 NovSaint-Étienne – Strasbourg2–2
25 NovCaen – Bordeaux1–0
25 NovDijon – Toulouse3–1
25 NovMetz – Amiens0–2
25 NovMontpellier – Lille3–0
25 NovRennes – Nantes2–1
25 NovTroyes – Angers3–0
26 NovMarseille – Guingamp1–0
26 NovMonaco – Paris Saint-Germain1–2
26 NovNice – Lyon0–5
28 NovAmiens – Dijon2–1
28 NovBordeaux – Saint-Étienne3–0
28 NovStrasbourg – Caen0–0
29 NovAngers – Rennes1–2
29 NovGuingamp – Montpellier0–0
29 NovLyon – Lille1–2
29 NovMetz – Marseille0–3
29 NovNantes – Monaco1–0
29 NovParis Saint-Germain – Troyes2–0
29 NovToulouse – Nice1–2
October 2017 · 33 matches
All results · October 2017
DateMatchScore
1 OctAngers – Lyon3–3
1 OctNice – Marseille2–4
1 OctTroyes – Saint-Étienne2–1
13 OctLyon – Monaco3–2
14 OctCaen – Angers0–2
14 OctDijon – Paris Saint-Germain1–2
14 OctGuingamp – Rennes2–0
14 OctLille – Troyes2–2
14 OctSaint-Étienne – Metz3–1
14 OctToulouse – Amiens1–0
15 OctBordeaux – Nantes1–1
15 OctMontpellier – Nice2–0
15 OctStrasbourg – Marseille3–3
20 OctSaint-Étienne – Montpellier0–1
21 OctAmiens – Bordeaux1–0
21 OctAngers – Toulouse0–1
21 OctMetz – Dijon1–2
21 OctMonaco – Caen2–0
21 OctNantes – Guingamp2–1
21 OctRennes – Lille1–0
22 OctMarseille – Paris Saint-Germain2–2
22 OctNice – Strasbourg1–2
22 OctTroyes – Lyon0–5
27 OctParis Saint-Germain – Nice3–0
28 OctBordeaux – Monaco0–2
28 OctCaen – Troyes1–0
28 OctDijon – Nantes1–0
28 OctGuingamp – Amiens1–1
28 OctMontpellier – Rennes0–1
28 OctStrasbourg – Angers2–2
29 OctLille – Marseille0–1
29 OctLyon – Metz2–0
29 OctToulouse – Saint-Étienne0–0
September 2017 · 36 matches
All results · September 2017
DateMatchScore
8 SepLille – Bordeaux0–0
8 SepMetz – Paris Saint-Germain1–5
9 SepCaen – Dijon2–1
9 SepMontpellier – Nantes0–1
9 SepNice – Monaco4–0
9 SepStrasbourg – Amiens0–1
9 SepTroyes – Toulouse0–0
10 SepLyon – Guingamp2–1
10 SepMarseille – Rennes1–3
10 SepSaint-Étienne – Angers1–1
15 SepToulouse – Bordeaux0–1
16 SepDijon – Saint-Étienne0–1
16 SepGuingamp – Lille1–0
16 SepMonaco – Strasbourg3–0
16 SepNantes – Caen1–0
16 SepTroyes – Montpellier0–1
17 SepAmiens – Marseille0–2
17 SepAngers – Metz0–1
17 SepParis Saint-Germain – Lyon2–0
17 SepRennes – Nice0–1
22 SepLille – Monaco0–4
22 SepNice – Angers2–2
23 SepBordeaux – Guingamp3–1
23 SepCaen – Amiens1–0
23 SepLyon – Dijon3–3
23 SepMetz – Troyes0–1
23 SepMontpellier – Paris Saint-Germain0–0
24 SepMarseille – Toulouse2–0
24 SepSaint-Étienne – Rennes2–2
24 SepStrasbourg – Nantes1–2
29 SepMonaco – Montpellier1–1
30 SepDijon – Strasbourg1–1
30 SepGuingamp – Toulouse1–1
30 SepNantes – Metz1–0
30 SepParis Saint-Germain – Bordeaux6–2
30 SepRennes – Caen0–1
August 2017 · 40 matches
All results · August 2017
DateMatchScore
4 AugMonaco – Toulouse3–2
5 AugLyon – Strasbourg4–0
5 AugMetz – Guingamp1–3
5 AugMontpellier – Caen1–0
5 AugParis Saint-Germain – Amiens2–0
5 AugSaint-Étienne – Nice1–0
5 AugTroyes – Rennes1–1
6 AugAngers – Bordeaux2–2
6 AugLille – Nantes3–0
6 AugMarseille – Dijon3–0
11 AugNice – Troyes1–2
11 AugRennes – Lyon1–2
12 AugAmiens – Angers0–2
12 AugBordeaux – Metz2–0
12 AugCaen – Saint-Étienne0–1
12 AugNantes – Marseille0–1
12 AugToulouse – Montpellier1–0
13 AugDijon – Monaco1–4
13 AugGuingamp – Paris Saint-Germain0–3
13 AugStrasbourg – Lille3–0
18 AugMetz – Monaco0–1
19 AugLyon – Bordeaux3–3
19 AugMontpellier – Strasbourg1–1
19 AugNice – Guingamp2–0
19 AugRennes – Dijon2–2
19 AugSaint-Étienne – Amiens3–0
19 AugTroyes – Nantes0–1
20 AugLille – Caen0–2
20 AugMarseille – Angers1–1
20 AugParis Saint-Germain – Toulouse6–2
25 AugParis Saint-Germain – Saint-Étienne3–0
26 AugAmiens – Nice3–0
26 AugBordeaux – Troyes2–1
26 AugCaen – Metz1–0
26 AugDijon – Montpellier2–1
26 AugNantes – Lyon0–0
26 AugToulouse – Rennes3–2
27 AugAngers – Lille1–1
27 AugGuingamp – Strasbourg2–0
27 AugMonaco – Marseille6–1

League rounds, 90 minutes, by month.

Referees

Referees
RefereeMatches
François Letexier24
Antony Gautier23
Mikael Lesage23
Benoît Bastien22
Benoît Millot22
Brisard Jerome22
Ruddy Buquet22
Johan Hamel21
Frank Schneider20
Karim Abed20
Amaury Delerue19
Clement Turpin18
Thomas Leonard18
Stephane Jochem17
Nicolas Rainville16
Olivier Thual16
Sébastien Desiage14
Hakim Ben el Hadj13
Jerome Miguelgorry10
Sebastien Moreira10
Tony Chapron7

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.