France

Ligue 2 2024/25 final table, results and top scorers

The 2024/25 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
1Lorient34225768:31+3771
2Paris FC34216755:33+2269
3Metz341811564:34+3065
4Dunkerque341751247:40+756
5Guingamp341741357:45+1255
6Annecy341491142:43−151
7Laval341481244:38+650
8Bastia341115843:37+648
9Grenoble341371443:44−146
10Troyes341351636:34+244
11Amiens341341738:50−1243
12Ajaccio341261630:42−1242
13Pau FC3410121239:53−1442
14Rodez349121356:54+239
15Red Star349111437:51−1438
16Clermont347121530:46−1633
17Martigues34952029:56−2732
18Caen34572231:58−2722

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

Player boards

Top scorers

Player boards · Top scorers
#PlayerGoals
1Eli Junior Kroupi
Lorient
22
2Jean-Philippe Krasso
Paris FC
17
3Timothee Nkada
Rodez
17

Penalties scored

Player boards · Penalties scored
#PlayerGoals
1Eli Junior Kroupi
Lorient
6
2Gauthier Hein
Metz
6
3Louis Mafouta
Amiens
5

Hat-tricks

Player boards · Hat-tricks
#PlayerHat-tricks
1Alimami Gory
Paris FC
1
2Cheick Tidiane Sabaly
Metz
1
3Malik Sellouki
Laval
1

Yellow cards

Player boards · Yellow cards
#PlayerYellow
1Vincent Pajot
Annecy
13
2Didí Gaucho
Caen
11
3Maxime López
Paris FC
11
4Ugo Raghouber
Dunkerque
11

The season's records

Biggest win: Metz 6–0 Martigues (24 Sep 2024)

Highest-scoring game: Bastia 5–2 Laval (14 Apr 2025)

All results

May 2025 · 18 matches
All results · May 2025
DateMatchScore
2 MayAjaccio – Lorient2–1
2 MayAmiens – Pau FC4–2
2 MayCaen – Red Star1–1
2 MayClermont – Annecy3–2
2 MayDunkerque – Laval0–0
2 MayGrenoble – Troyes3–1
2 MayGuingamp – Bastia2–2
2 MayMartigues – Paris FC1–1
2 MayMetz – Rodez3–3
10 MayAnnecy – Grenoble3–1
10 MayBastia – Caen2–1
10 MayLaval – Metz2–3
10 MayLorient – Martigues5–1
10 MayParis FC – Ajaccio2–0
10 MayPau FC – Guingamp1–3
10 MayRed Star – Dunkerque1–1
10 MayRodez – Clermont1–1
10 MayTroyes – Amiens1–0
April 2025 · 36 matches
All results · April 2025
DateMatchScore
4 AprAjaccio – Amiens2–1
4 AprAnnecy – Bastia1–1
4 AprLaval – Grenoble1–2
4 AprParis FC – Clermont2–0
4 AprRodez – Martigues1–0
5 AprCaen – Metz2–2
5 AprLorient – Pau FC5–0
5 AprTroyes – Red Star2–2
7 AprDunkerque – Guingamp3–1
11 AprAmiens – Dunkerque1–0
11 AprMartigues – Metz1–4
11 AprPau FC – Clermont2–2
11 AprRed Star – Annecy0–1
11 AprRodez – Caen2–2
11 AprTroyes – Ajaccio0–0
12 AprGrenoble – Paris FC1–2
12 AprGuingamp – Lorient1–2
14 AprBastia – Laval5–2
18 AprAjaccio – Pau FC1–1
18 AprAmiens – Guingamp3–2
18 AprCaen – Martigues0–3
18 AprClermont – Troyes0–2
18 AprDunkerque – Grenoble2–0
18 AprLaval – Rodez2–1
19 AprMetz – Red Star2–2
19 AprParis FC – Bastia1–0
21 AprAnnecy – Lorient0–0
25 AprAnnecy – Ajaccio2–0
25 AprBastia – Grenoble2–3
25 AprGuingamp – Martigues2–1
25 AprLaval – Amiens1–0
25 AprRed Star – Clermont1–1
25 AprTroyes – Dunkerque1–0
26 AprLorient – Caen4–0
26 AprPau FC – Metz2–1
26 AprRodez – Paris FC1–1
March 2025 · 31 matches
All results · March 2025
DateMatchScore
1 MarAmiens – Metz1–2
1 MarLorient – Rodez3–1
1 MarRed Star – Guingamp3–1
3 MarAjaccio – Dunkerque1–2
7 MarBastia – Martigues1–0
7 MarCaen – Laval0–1
7 MarGrenoble – Ajaccio2–2
7 MarGuingamp – Clermont3–1
7 MarPau FC – Troyes0–2
7 MarRed Star – Amiens2–0
8 MarMetz – Annecy5–1
8 MarParis FC – Lorient3–2
10 MarRodez – Dunkerque5–1
14 MarAjaccio – Red Star2–1
14 MarAmiens – Caen2–1
14 MarAnnecy – Rodez1–1
14 MarClermont – Grenoble0–0
14 MarMartigues – Pau FC2–2
14 MarTroyes – Guingamp0–1
15 MarDunkerque – Metz2–3
15 MarLaval – Paris FC3–0
15 MarLorient – Bastia4–0
28 MarBastia – Dunkerque2–0
28 MarClermont – Amiens1–1
28 MarMartigues – Ajaccio2–0
28 MarMetz – Troyes2–1
28 MarPau FC – Annecy1–0
28 MarRed Star – Rodez1–1
29 MarGrenoble – Lorient1–2
29 MarGuingamp – Laval2–0
31 MarParis FC – Caen4–2
February 2025 · 35 matches
All results · February 2025
DateMatchScore
1 FebGuingamp – Paris FC0–1
1 FebRed Star – Lorient1–2
1 FebTroyes – Caen3–0
7 FebGrenoble – Red Star0–0
7 FebLaval – Annecy0–1
7 FebMartigues – Troyes1–2
7 FebParis FC – Pau FC3–1
7 FebRodez – Bastia0–2
8 FebAjaccio – Guingamp0–3
8 FebLorient – Amiens3–1
8 FebMetz – Clermont3–1
10 FebCaen – Dunkerque0–2
14 FebAjaccio – Laval3–0
14 FebAmiens – Grenoble1–4
14 FebClermont – Bastia1–1
14 FebPau FC – Rodez0–5
14 FebRed Star – Martigues1–0
14 FebTroyes – Lorient0–1
15 FebDunkerque – Paris FC1–0
15 FebGuingamp – Metz0–3
17 FebAnnecy – Caen1–0
21 FebBastia – Red Star1–0
21 FebDunkerque – Clermont3–0
21 FebGrenoble – Guingamp1–1
21 FebMartigues – Annecy2–0
21 FebParis FC – Troyes1–0
21 FebRodez – Amiens1–1
22 FebCaen – Pau FC2–2
22 FebLorient – Laval0–1
22 FebMetz – Ajaccio0–1
28 FebAnnecy – Paris FC2–3
28 FebClermont – Caen0–1
28 FebLaval – Martigues0–1
28 FebPau FC – Grenoble1–0
28 FebTroyes – Bastia2–0
January 2025 · 42 matches
All results · January 2025
DateMatchScore
3 JanAjaccio – Annecy1–2
3 JanAmiens – Troyes0–3
3 JanCaen – Clermont0–1
3 JanGrenoble – Bastia3–2
3 JanParis FC – Martigues1–2
3 JanRodez – Red Star0–2
4 JanGuingamp – Dunkerque1–1
4 JanLaval – Lorient2–0
4 JanMetz – Pau FC0–0
10 JanAnnecy – Guingamp1–4
10 JanLaval – Red Star1–1
10 JanMartigues – Clermont0–1
10 JanPau FC – Dunkerque1–1
10 JanRodez – Troyes2–1
11 JanBastia – Ajaccio4–0
11 JanCaen – Grenoble0–1
11 JanLorient – Metz0–0
11 JanParis FC – Amiens1–0
17 JanAjaccio – Caen2–1
17 JanAmiens – Bastia1–0
17 JanGrenoble – Martigues1–0
17 JanGuingamp – Rodez3–0
17 JanRed Star – Pau FC1–3
18 JanClermont – Laval1–1
18 JanDunkerque – Lorient0–1
18 JanMetz – Paris FC3–1
20 JanTroyes – Annecy0–1
24 JanBastia – Pau FC1–1
24 JanCaen – Guingamp0–1
24 JanLaval – Troyes1–0
24 JanMartigues – Amiens3–0
24 JanMetz – Grenoble3–0
24 JanRodez – Ajaccio1–2
25 JanLorient – Clermont3–2
25 JanParis FC – Red Star4–1
27 JanAnnecy – Dunkerque0–2
31 JanAmiens – Annecy1–0
31 JanBastia – Metz1–1
31 JanClermont – Ajaccio0–1
31 JanDunkerque – Martigues0–1
31 JanGrenoble – Rodez2–1
31 JanPau FC – Laval1–1
December 2024 · 19 matches
All results · December 2024
DateMatchScore
3 DecAjaccio – Bastia0–0
6 DecAnnecy – Clermont2–0
6 DecLaval – Caen1–0
6 DecLorient – Troyes2–0
6 DecMartigues – Guingamp0–1
6 DecRed Star – Bastia0–0
6 DecRodez – Pau FC1–0
7 DecAjaccio – Paris FC0–2
7 DecGrenoble – Amiens0–2
9 DecMetz – Dunkerque2–0
13 DecAmiens – Laval1–3
13 DecBastia – Guingamp3–1
13 DecClermont – Rodez1–1
13 DecPau FC – Ajaccio1–0
13 DecTroyes – Martigues4–0
14 DecAnnecy – Metz0–0
14 DecLorient – Paris FC2–0
14 DecRed Star – Grenoble3–1
16 DecDunkerque – Caen3–1
November 2024 · 27 matches
All results · November 2024
DateMatchScore
1 NovAnnecy – Pau FC2–0
1 NovClermont – Lorient2–1
1 NovDunkerque – Amiens3–1
1 NovMartigues – Red Star0–1
1 NovParis FC – Rodez3–3
1 NovTroyes – Laval0–0
2 NovCaen – Bastia2–0
2 NovGuingamp – Grenoble3–0
4 NovAjaccio – Metz0–1
8 NovAjaccio – Clermont2–0
8 NovAmiens – Martigues1–1
8 NovGrenoble – Dunkerque0–1
8 NovLaval – Bastia2–2
8 NovRed Star – Troyes0–3
8 NovRodez – Annecy5–1
9 NovLorient – Guingamp3–1
9 NovMetz – Caen1–0
9 NovPau FC – Paris FC0–0
22 NovCaen – Rodez3–3
22 NovClermont – Metz1–1
22 NovGuingamp – Amiens3–0
22 NovMartigues – Laval0–3
22 NovPau FC – Red Star4–1
22 NovTroyes – Grenoble0–0
23 NovBastia – Lorient0–0
23 NovParis FC – Annecy0–0
25 NovDunkerque – Ajaccio1–0
October 2024 · 35 matches
All results · October 2024
DateMatchScore
4 OctAnnecy – Red Star1–0
4 OctDunkerque – Troyes2–1
4 OctParis FC – Laval1–0
4 OctRodez – Grenoble2–1
5 OctAjaccio – Martigues1–1
5 OctCaen – Lorient1–2
5 OctClermont – Guingamp4–1
5 OctMetz – Amiens3–2
18 OctBastia – Clermont0–0
18 OctGrenoble – Metz2–0
18 OctGuingamp – Pau FC0–1
18 OctLaval – Dunkerque3–2
18 OctMartigues – Rodez0–2
18 OctRed Star – Caen2–2
19 OctAmiens – Ajaccio3–1
19 OctLorient – Annecy4–2
21 OctTroyes – Paris FC0–3
22 OctPau FC – Bastia1–1
25 OctAnnecy – Laval2–0
25 OctClermont – Martigues0–1
25 OctDunkerque – Red Star2–0
25 OctMetz – Guingamp1–0
25 OctPau FC – Amiens0–2
25 OctRodez – Lorient3–3
26 OctCaen – Troyes0–1
26 OctParis FC – Grenoble2–1
29 OctAmiens – Paris FC0–0
29 OctBastia – Rodez2–2
29 OctGrenoble – Annecy0–0
29 OctGuingamp – Ajaccio1–0
29 OctLaval – Clermont1–2
29 OctLorient – Dunkerque4–2
29 OctMartigues – Caen0–3
29 OctRed Star – Metz1–0
29 OctTroyes – Pau FC3–0
September 2024 · 36 matches
All results · September 2024
DateMatchScore
13 SepAnnecy – Amiens3–0
13 SepBastia – Troyes0–0
13 SepClermont – Dunkerque0–1
13 SepLaval – Ajaccio1–1
13 SepLorient – Red Star2–1
13 SepPau FC – Martigues3–0
13 SepRodez – Guingamp1–2
14 SepParis FC – Metz1–2
16 SepGrenoble – Caen3–1
20 SepAmiens – Clermont1–0
20 SepBastia – Paris FC2–1
20 SepCaen – Ajaccio1–0
20 SepDunkerque – Pau FC3–2
20 SepGuingamp – Annecy2–2
20 SepMartigues – Grenoble0–4
20 SepRed Star – Laval0–3
20 SepTroyes – Rodez0–3
21 SepMetz – Lorient1–1
24 SepAjaccio – Grenoble2–0
24 SepAnnecy – Troyes1–0
24 SepCaen – Amiens2–1
24 SepClermont – Red Star1–1
24 SepDunkerque – Bastia2–1
24 SepMetz – Martigues6–0
24 SepParis FC – Guingamp2–0
24 SepPau FC – Lorient1–0
24 SepRodez – Laval1–3
27 SepAmiens – Rodez2–1
27 SepBastia – Annecy2–2
27 SepGrenoble – Clermont3–0
27 SepLaval – Pau FC3–1
27 SepLorient – Ajaccio3–0
27 SepMartigues – Dunkerque1–1
28 SepRed Star – Paris FC1–3
28 SepTroyes – Metz2–1
30 SepGuingamp – Caen3–1
August 2024 · 27 matches
All results · August 2024
DateMatchScore
16 AugAjaccio – Rodez1–0
16 AugAmiens – Red Star3–0
16 AugClermont – Pau FC2–2
16 AugDunkerque – Annecy0–2
16 AugGrenoble – Laval2–1
16 AugGuingamp – Troyes4–0
17 AugCaen – Paris FC0–2
19 AugMartigues – Lorient0–1
19 AugMetz – Bastia1–1
23 AugAnnecy – Martigues2–4
23 AugBastia – Amiens1–0
23 AugLaval – Guingamp0–1
23 AugParis FC – Dunkerque3–2
23 AugPau FC – Caen1–0
23 AugRodez – Metz1–3
23 AugTroyes – Clermont0–1
24 AugLorient – Grenoble2–0
26 AugRed Star – Ajaccio1–0
30 AugAjaccio – Troyes2–1
30 AugCaen – Annecy1–1
30 AugClermont – Paris FC0–1
30 AugDunkerque – Rodez1–0
30 AugGrenoble – Pau FC1–1
30 AugGuingamp – Red Star3–4
30 AugMartigues – Bastia0–1
31 AugAmiens – Lorient1–0
31 AugMetz – Laval1–1

League rounds, 90 minutes, by month.

Referees

Referees
RefereeMatches
Geoffrey Kubler19
Mikael Lesage19
Pierre Gaillouste19
Antoine Valnet18
Aurelien Petit18
Eddy Rosier18
Remi Landry18
Faouzi Benchabane17
Mickael Leleu17
Olivier Thual17
Guillaume Paradis15
P. Legat15
R. Chapapria13
Thierry Bouille12
Ahmed Taleb11
Karim Abed10
Ruddy Buquet8
Florent Batta6
Abdelatif Kherradji4
Benoît Millot4
Romain Lissorgue4
B. Dechepy3
H. Ben El Hadj3
Jeremy Stinat3
Marc Bollengier3

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.