← Ligue 1 ♂ · Roll of honour · ‹ 2017-2018 · 2019-2020 ›
Ligue 1 ♂ 2018-2019
Final table, results and statistics of the 2018-2019 season.
Champions : Paris Saint-Germain FC Wikidata
Relegated : En avant Guingamp, Stade Malherbe Caen
Final table
| # | Team | J | V | N | D | Goals | GD | Pts |
|---|---|---|---|---|---|---|---|---|
| 1 | Paris Saint-Germain FC | 38 | 29 | 4 | 5 | 105:35 | +70 | 91 |
| 2 | Lille OSC | 38 | 22 | 9 | 7 | 68:33 | +35 | 75 |
| 3 | Olympique lyonnais | 38 | 21 | 9 | 8 | 70:47 | +23 | 72 |
| 4 | AS Saint-Étienne | 38 | 19 | 9 | 10 | 59:41 | +18 | 66 |
| 5 | Olympique de Marseille | 38 | 18 | 7 | 13 | 60:52 | +8 | 61 |
| 6 | Montpellier Hérault SC | 38 | 15 | 14 | 9 | 53:42 | +11 | 59 |
| 7 | OGC Nice | 38 | 15 | 11 | 12 | 30:35 | -5 | 56 |
| 8 | Stade de Reims | 38 | 13 | 16 | 9 | 39:42 | -3 | 55 |
| 9 | Nîmes Olympique | 38 | 15 | 8 | 15 | 57:58 | -1 | 53 |
| 10 | Stade rennais FC | 38 | 13 | 13 | 12 | 55:52 | +3 | 52 |
| 11 | RC Strasbourg Alsace | 38 | 11 | 16 | 11 | 58:48 | +10 | 49 |
| 12 | Football Club de Nantes | 38 | 13 | 9 | 16 | 48:48 | 0 | 48 |
| 13 | Angers SCO | 38 | 10 | 16 | 12 | 44:49 | -5 | 46 |
| 14 | Girondins de Bordeaux | 38 | 10 | 11 | 17 | 34:42 | -8 | 41 |
| 15 | Amiens SC | 38 | 9 | 11 | 18 | 31:52 | -21 | 38 |
| 16 | Toulouse FC | 38 | 8 | 14 | 16 | 35:57 | -22 | 38 |
| 17 | AS Monaco FC | 38 | 8 | 12 | 18 | 38:57 | -19 | 36 |
| 18 | Dijon FCO | 38 | 9 | 7 | 22 | 31:60 | -29 | 34 |
| 19 | Stade Malherbe Caen | 38 | 7 | 12 | 19 | 29:54 | -25 | 33 |
| 20 | En avant Guingamp | 38 | 5 | 12 | 21 | 28:68 | -40 | 27 |
Official table from Wikidata (points worked out at 3 per win when the source does not give them).
Table recalculated from our results
| # | Team | J | V | N | D | Goals | GD | Pts |
|---|---|---|---|---|---|---|---|---|
| 1 | Paris SG | 38 | 29 | 4 | 5 | 105:35 | +70 | 91 |
| 2 | Lille | 38 | 22 | 9 | 7 | 68:33 | +35 | 75 |
| 3 | Lyon | 38 | 21 | 9 | 8 | 70:47 | +23 | 72 |
| 4 | St Etienne | 38 | 19 | 9 | 10 | 59:41 | +18 | 66 |
| 5 | Marseille | 38 | 18 | 7 | 13 | 60:52 | +8 | 61 |
| 6 | Montpellier | 38 | 15 | 14 | 9 | 53:42 | +11 | 59 |
| 7 | Nice | 38 | 15 | 11 | 12 | 30:35 | -5 | 56 |
| 8 | Reims | 38 | 13 | 16 | 9 | 39:42 | -3 | 55 |
| 9 | Nimes | 38 | 15 | 8 | 15 | 57:58 | -1 | 53 |
| 10 | Rennes | 38 | 13 | 13 | 12 | 55:52 | +3 | 52 |
| 11 | Strasbourg | 38 | 11 | 16 | 11 | 58:48 | +10 | 49 |
| 12 | Nantes | 38 | 13 | 9 | 16 | 48:48 | 0 | 48 |
| 13 | Angers | 38 | 10 | 16 | 12 | 44:49 | -5 | 46 |
| 14 | Bordeaux | 38 | 10 | 11 | 17 | 34:42 | -8 | 41 |
| 15 | Amiens | 38 | 9 | 11 | 18 | 31:52 | -21 | 38 |
| 16 | Toulouse | 38 | 8 | 14 | 16 | 35:57 | -22 | 38 |
| 17 | Monaco | 38 | 8 | 12 | 18 | 38:57 | -19 | 36 |
| 18 | Dijon | 38 | 9 | 7 | 22 | 31:60 | -29 | 34 |
| 19 | Caen | 38 | 7 | 12 | 19 | 29:54 | -25 | 33 |
| 20 | Guingamp | 38 | 5 | 12 | 21 | 28:68 | -40 | 27 |
Table recalculated from the results: without any points deductions, and without the league's own tie-break or end-of-season rules (play-offs, halved points).
Home table
| # | Team | J | V | N | D | Goals | GD | Pts |
|---|---|---|---|---|---|---|---|---|
| 1 | Paris SG | 19 | 17 | 2 | 0 | 63:10 | +53 | 53 |
| 2 | Lille | 19 | 13 | 4 | 2 | 42:11 | +31 | 43 |
| 3 | St Etienne | 19 | 13 | 2 | 4 | 34:14 | +20 | 41 |
| 4 | Lyon | 19 | 12 | 4 | 3 | 38:19 | +19 | 40 |
| 5 | Marseille | 19 | 11 | 4 | 4 | 31:17 | +14 | 37 |
| 6 | Nice | 19 | 10 | 4 | 5 | 19:14 | +5 | 34 |
| 7 | Montpellier | 19 | 8 | 8 | 3 | 31:20 | +11 | 32 |
| 8 | Nimes | 19 | 9 | 5 | 5 | 30:20 | +10 | 32 |
| 9 | Nantes | 19 | 9 | 4 | 6 | 35:24 | +11 | 31 |
| 10 | Rennes | 19 | 8 | 7 | 4 | 27:18 | +9 | 31 |
| 11 | Reims | 19 | 8 | 7 | 4 | 21:18 | +3 | 31 |
| 12 | Bordeaux | 19 | 7 | 6 | 6 | 24:21 | +3 | 27 |
| 13 | Strasbourg | 19 | 6 | 8 | 5 | 31:25 | +6 | 26 |
| 14 | Amiens | 19 | 7 | 5 | 7 | 20:22 | -2 | 26 |
| 15 | Angers | 19 | 5 | 9 | 5 | 24:22 | +2 | 24 |
| 16 | Dijon | 19 | 6 | 4 | 9 | 18:29 | -11 | 22 |
| 17 | Toulouse | 19 | 4 | 9 | 6 | 20:26 | -6 | 21 |
| 18 | Monaco | 19 | 4 | 6 | 9 | 19:29 | -10 | 18 |
| 19 | Caen | 19 | 4 | 5 | 10 | 16:27 | -11 | 17 |
| 20 | Guingamp | 19 | 3 | 7 | 9 | 16:27 | -11 | 16 |
Away table
| # | Team | J | V | N | D | Goals | GD | Pts |
|---|---|---|---|---|---|---|---|---|
| 1 | Paris SG | 19 | 12 | 2 | 5 | 42:25 | +17 | 38 |
| 2 | Lyon | 19 | 9 | 5 | 5 | 32:28 | +4 | 32 |
| 3 | Lille | 19 | 9 | 5 | 5 | 26:22 | +4 | 32 |
| 4 | Montpellier | 19 | 7 | 6 | 6 | 22:22 | 0 | 27 |
| 5 | St Etienne | 19 | 6 | 7 | 6 | 25:27 | -2 | 25 |
| 6 | Marseille | 19 | 7 | 3 | 9 | 29:35 | -6 | 24 |
| 7 | Reims | 19 | 5 | 9 | 5 | 18:24 | -6 | 24 |
| 8 | Strasbourg | 19 | 5 | 8 | 6 | 27:23 | +4 | 23 |
| 9 | Angers | 19 | 5 | 7 | 7 | 20:27 | -7 | 22 |
| 10 | Nice | 19 | 5 | 7 | 7 | 11:21 | -10 | 22 |
| 11 | Rennes | 19 | 5 | 6 | 8 | 28:34 | -6 | 21 |
| 12 | Nimes | 19 | 6 | 3 | 10 | 27:38 | -11 | 21 |
| 13 | Monaco | 19 | 4 | 6 | 9 | 19:28 | -9 | 18 |
| 14 | Nantes | 19 | 4 | 5 | 10 | 13:24 | -11 | 17 |
| 15 | Toulouse | 19 | 4 | 5 | 10 | 15:31 | -16 | 17 |
| 16 | Caen | 19 | 3 | 7 | 9 | 13:27 | -14 | 16 |
| 17 | Bordeaux | 19 | 3 | 5 | 11 | 10:21 | -11 | 14 |
| 18 | Dijon | 19 | 3 | 3 | 13 | 13:31 | -18 | 12 |
| 19 | Amiens | 19 | 2 | 6 | 11 | 11:30 | -19 | 12 |
| 20 | Guingamp | 19 | 2 | 5 | 12 | 12:41 | -29 | 11 |
The season in numbers
| Matches played | 380 |
| Goals scored | 972 (2,56 per match) |
| Home wins | 164 (43 %) |
| Draws | 110 (29 %) |
| Away wins | 106 (28 %) |
| Goalless matches (0-0) | 32 |
| Best attack | Paris SG (105) |
| Best defence | Lille (33) |
| Biggest win | Paris SG 9 – 0 Guingamp 19/01/2019 |
| Highest-scoring match | Paris SG 9 – 0 Guingamp 19/01/2019 |
Results grid row: home team; column: away team (number = final position)
All results
August 2018 31 match(es)
| 10/08/2018 | Marseille | 4 – 0 | Toulouse |
| 11/08/2018 | Nice | 0 – 1 | Reims |
| 11/08/2018 | Angers | 3 – 4 | Nimes |
| 11/08/2018 | Montpellier | 1 – 2 | Dijon |
| 11/08/2018 | Nantes | 1 – 3 | Monaco |
| 11/08/2018 | St Etienne | 2 – 1 | Guingamp |
| 11/08/2018 | Lille | 3 – 1 | Rennes |
| 12/08/2018 | Paris SG | 3 – 0 | Caen |
| 12/08/2018 | Lyon | 2 – 0 | Amiens |
| 12/08/2018 | Bordeaux | 0 – 2 | Strasbourg |
| 17/08/2018 | Reims | 1 – 0 | Lyon |
| 18/08/2018 | Rennes | 1 – 0 | Angers |
| 18/08/2018 | Caen | 1 – 1 | Nice |
| 18/08/2018 | Monaco | 0 – 0 | Lille |
| 18/08/2018 | Dijon | 2 – 0 | Nantes |
| 18/08/2018 | Guingamp | 1 – 3 | Paris SG |
| 18/08/2018 | Amiens | 1 – 2 | Montpellier |
| 19/08/2018 | Toulouse | 2 – 1 | Bordeaux |
| 19/08/2018 | Nimes | 3 – 1 | Marseille |
| 19/08/2018 | Strasbourg | 1 – 1 | St Etienne |
| 24/08/2018 | Lyon | 2 – 0 | Strasbourg |
| 25/08/2018 | Montpellier | 0 – 0 | St Etienne |
| 25/08/2018 | Paris SG | 3 – 1 | Angers |
| 25/08/2018 | Toulouse | 1 – 0 | Nimes |
| 25/08/2018 | Nice | 0 – 4 | Dijon |
| 25/08/2018 | Nantes | 1 – 1 | Caen |
| 25/08/2018 | Amiens | 4 – 1 | Reims |
| 26/08/2018 | Lille | 3 – 0 | Guingamp |
| 26/08/2018 | Marseille | 2 – 2 | Rennes |
| 26/08/2018 | Bordeaux | 2 – 1 | Monaco |
| 31/08/2018 | Lyon | 0 – 1 | Nice |
September 2018 49 match(es)
October 2018 30 match(es)
| 05/10/2018 | Toulouse | 1 – 1 | Nice |
| 06/10/2018 | Guingamp | 1 – 1 | Montpellier |
| 06/10/2018 | Lille | 3 – 1 | St Etienne |
| 06/10/2018 | Nimes | 0 – 0 | Reims |
| 06/10/2018 | Angers | 2 – 2 | Strasbourg |
| 06/10/2018 | Amiens | 1 – 0 | Dijon |
| 07/10/2018 | Marseille | 2 – 0 | Caen |
| 07/10/2018 | Paris SG | 5 – 0 | Lyon |
| 07/10/2018 | Monaco | 1 – 2 | Rennes |
| 07/10/2018 | Bordeaux | 3 – 0 | Nantes |
| 19/10/2018 | Lyon | 2 – 0 | Nimes |
| 20/10/2018 | Strasbourg | 2 – 1 | Monaco |
| 20/10/2018 | Reims | 1 – 1 | Angers |
| 20/10/2018 | Dijon | 1 – 2 | Lille |
| 20/10/2018 | Paris SG | 5 – 0 | Amiens |
| 20/10/2018 | Nantes | 4 – 0 | Toulouse |
| 20/10/2018 | Caen | 0 – 0 | Guingamp |
| 21/10/2018 | St Etienne | 1 – 1 | Rennes |
| 21/10/2018 | Montpellier | 2 – 0 | Bordeaux |
| 21/10/2018 | Nice | 0 – 1 | Marseille |
| 26/10/2018 | Nimes | 1 – 1 | St Etienne |
| 27/10/2018 | Guingamp | 1 – 1 | Strasbourg |
| 27/10/2018 | Amiens | 1 – 2 | Nantes |
| 27/10/2018 | Angers | 1 – 2 | Lyon |
| 27/10/2018 | Monaco | 2 – 2 | Dijon |
| 27/10/2018 | Toulouse | 0 – 3 | Montpellier |
| 27/10/2018 | Lille | 1 – 0 | Caen |
| 28/10/2018 | Marseille | 0 – 2 | Paris SG |
| 28/10/2018 | Rennes | 0 – 2 | Reims |
| 28/10/2018 | Bordeaux | 0 – 1 | Nice |
November 2018 31 match(es)
| 02/11/2018 | Paris SG | 2 – 1 | Lille |
| 03/11/2018 | Reims | 1 – 0 | Monaco |
| 03/11/2018 | Nice | 1 – 0 | Amiens |
| 03/11/2018 | Dijon | 0 – 4 | Nimes |
| 03/11/2018 | Lyon | 1 – 1 | Bordeaux |
| 03/11/2018 | Strasbourg | 1 – 1 | Toulouse |
| 03/11/2018 | Caen | 1 – 2 | Rennes |
| 04/11/2018 | Montpellier | 3 – 0 | Marseille |
| 04/11/2018 | St Etienne | 4 – 3 | Angers |
| 04/11/2018 | Nantes | 5 – 0 | Guingamp |
| 09/11/2018 | Lille | 0 – 0 | Strasbourg |
| 10/11/2018 | Nimes | 0 – 1 | Nice |
| 10/11/2018 | Guingamp | 2 – 4 | Lyon |
| 10/11/2018 | Toulouse | 0 – 1 | Amiens |
| 10/11/2018 | St Etienne | 2 – 0 | Reims |
| 10/11/2018 | Angers | 1 – 0 | Montpellier |
| 11/11/2018 | Rennes | 1 – 1 | Nantes |
| 11/11/2018 | Monaco | 0 – 4 | Paris SG |
| 11/11/2018 | Marseille | 2 – 0 | Dijon |
| 11/11/2018 | Bordeaux | 0 – 0 | Caen |
| 23/11/2018 | Lyon | 1 – 0 | St Etienne |
| 24/11/2018 | Nantes | 1 – 1 | Angers |
| 24/11/2018 | Strasbourg | 0 – 1 | Nimes |
| 24/11/2018 | Paris SG | 1 – 0 | Toulouse |
| 24/11/2018 | Reims | 2 – 1 | Guingamp |
| 24/11/2018 | Dijon | 0 – 0 | Bordeaux |
| 24/11/2018 | Caen | 0 – 1 | Monaco |
| 25/11/2018 | Nice | 2 – 0 | Lille |
| 25/11/2018 | Amiens | 1 – 3 | Marseille |
| 25/11/2018 | Montpellier | 2 – 2 | Rennes |
| 30/11/2018 | St Etienne | 3 – 0 | Nantes |
December 2018 38 match(es)
January 2019 38 match(es)
February 2019 42 match(es)
March 2019 36 match(es)
April 2019 44 match(es)
May 2019 41 match(es)
Previous seasons
Final table, results and statistics for every season. Roll of honour → Records →
2025-2026 · 2024-2025 · 2023-2024 · 2022-2023 · 2021-2022 · 2020-2021 · 2019-2020 · 2018-2019 · 2017-2018 · 2016-2017 · 2015-2016 · 2014-2015 · 2013-2014 · 2012-2013 · 2011-2012 · 2010-2011 · 2009-2010 · 2008-2009 · 2007-2008 · 2006-2007 · 2005-2006 · 2004-2005 · 2003-2004 · 2002-2003 · 2001-2002 · 2000-2001 · 1999-2000 · 1998-1999 · 1997-1998 · 1996-1997 · 1995-1996 · 1994-1995 · 1993-1994 · 1992-1993 · 1991-1992 · 1990-1991 · 1989-1990 · 1988-1989 · 1987-1988 · 1986-1987 · 1985-1986 · 1984-1985 · 1983-1984 · 1982-1983 · 1981-1982 · 1980-1981 · 1979-1980 · 1978-1979 · 1977-1978 · 1976-1977 · 1975-1976 · 1974-1975 · 1973-1974 · 1972-1973 · 1971-1972 · 1970-1971 · 1969-1970 · 1968-1969 · 1967-1968 · 1966-1967 · 1965-1966 · 1964-1965 · 1963-1964 · 1962-1963 · 1961-1962 · 1960-1961 · 1959-1960 · 1958-1959 · 1957-1958 · 1956-1957 · 1955-1956 · 1954-1955 · 1953-1954 · 1952-1953 · 1951-1952 · 1950-1951 · 1949-1950 · 1948-1949 · 1947-1948 · 1946-1947 · 1945-1946 · 1938-1939 · 1937-1938 · 1936-1937 · 1935-1936 · 1934-1935 · 1933-1934