| Season | 2023–24 |
|---|---|
| Dates | 5 August 2023 – 1 June 2024 |
| Champions | Auxerre |
| Promoted | Auxerre Angers Saint-Étienne |
| Relegated | Bordeaux Concarneau Quevilly-Rouen Valenciennes |
| Matches | 380 |
| Goals | 933 (2.46 per match) |
| Top goalscorer | Alexandre Mendy (22 goals) |
| Biggest home win | Guingamp 4–0Pau (26 August 2023) Auxerre 4–0Annecy (26 September 2023) |
| Biggest away win | Dunkerque 0–5Bastia (5 December 2023) |
| Highest scoring | Rodez 5–3Caen (7 October 2023) |
| Longest winning run | 6 matches Laval |
| Longest unbeaten run | 11 matches Grenoble |
| Longest winless run | 16 matches Valenciennes |
| Longest losing run | 5 matches Saint-Étienne Dunkerque |
2024–25 → | |
The2023–24 Ligue 2, commonly known asLigue 2BKT for sponsorship reasons, was the 85th season ofLigue 2. It began on 5 August 2023 and concluded on 1 June 2024.
Concarneau (promoted for the first time in history from this season) andDunkerque (promoted return after two years absence). ReplacingDijon andNîmes (both relegated after two years in second tier) andNiort (relegated after eleven years in second tier). Later,Sochaux was administratively relegated after nine years in second tier and replaced byAnnecy, that was originally relegated to National.
Due to the restructuring of the French football leagues, this season was the last with 20 teams as its number was reduced to 18 teams the following season.[1] The top two teams were promoted to2024–25 Ligue 1, while teams from 3rd to 5th played with the 16th-placed team from2023–24 Ligue 1 in the promotion play-offs. The four last teams were relegated to2024–25 Championnat National.
| Pos | Team | Pld | W | D | L | GF | GA | GD | Pts | Promotion or Relegation |
|---|---|---|---|---|---|---|---|---|---|---|
| 1 | Auxerre(C, P) | 38 | 21 | 11 | 6 | 72 | 36 | +36 | 74 | Promotion toLigue 1 |
| 2 | Angers(P) | 38 | 20 | 8 | 10 | 56 | 42 | +14 | 68 | |
| 3 | Saint-Étienne(O, P) | 38 | 19 | 8 | 11 | 48 | 31 | +17 | 65 | Qualification forpromotion play-offs final |
| 4 | Rodez | 38 | 16 | 12 | 10 | 62 | 51 | +11 | 60 | Qualification forpromotion play-offs semi-final |
| 5 | Paris FC | 38 | 16 | 11 | 11 | 49 | 42 | +7 | 59 | |
| 6 | Caen | 38 | 17 | 7 | 14 | 51 | 45 | +6 | 58 | |
| 7 | Laval | 38 | 15 | 10 | 13 | 40 | 45 | −5 | 55 | |
| 8 | Amiens | 38 | 12 | 17 | 9 | 36 | 36 | 0 | 53 | |
| 9 | Guingamp | 38 | 13 | 12 | 13 | 44 | 40 | +4 | 51 | |
| 10 | Pau | 38 | 13 | 12 | 13 | 60 | 57 | +3 | 51 | |
| 11 | Grenoble | 38 | 13 | 12 | 13 | 43 | 44 | −1 | 51 | |
| 12 | Bordeaux(D, R) | 38 | 14 | 9 | 15 | 50 | 52 | −2 | 50[a] | Demoted toNational 2 |
| 13 | Bastia | 38 | 14 | 9 | 15 | 44 | 48 | −4 | 50[b] | |
| 14 | Annecy | 38 | 12 | 10 | 16 | 49 | 50 | −1 | 46 | |
| 15 | Ajaccio | 38 | 12 | 10 | 16 | 35 | 46 | −11 | 46 | |
| 16 | Dunkerque | 38 | 12 | 10 | 16 | 36 | 52 | −16 | 46 | |
| 17 | Troyes | 38 | 9 | 14 | 15 | 42 | 50 | −8 | 41 | Spared from relegation |
| 18 | Quevilly-Rouen(R) | 38 | 7 | 17 | 14 | 51 | 55 | −4 | 38 | Relegation toNational |
| 19 | Concarneau(R) | 38 | 10 | 8 | 20 | 39 | 57 | −18 | 38 | |
| 20 | Valenciennes(R) | 38 | 6 | 11 | 21 | 26 | 54 | −28 | 29 |
| Home \ Away | AJA | AMI | ANG | ANN | AUX | BAS | BOR | CAE | CON | DUN | GRE | GUI | LAV | QUE | PFC | PAU | ROD | STE | TRO | VAL |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Ajaccio | — | 0–0 | 1–1 | 1–3 | 0–1 | 2–0 | 0–0 | 2–1 | 1–0 | 2–2 | 1–2 | 3–0 | 2–0 | 1–1 | 2–1 | 2–0 | 1–1 | 2–0 | 1–0 | 2–1 |
| Amiens | 0–0 | — | 1–4 | 1–0 | 0–0 | 2–1 | 1–1 | 0–0 | 1–1 | 0–1 | 1–2 | 4–1 | 0–0 | 1–0 | 1–1 | 2–3 | 1–1 | 1–0 | 0–0 | 0–0 |
| Angers | 3–1 | 1–3 | — | 0–0 | 2–2 | 2–0 | 2–0 | 3–0 | 2–0 | 0–0 | 1–0 | 1–0 | 1–1 | 3–2 | 2–0 | 2–1 | 2–1 | 0–3 | 2–1 | 2–0 |
| Annecy | 2–0 | 1–1 | 1–2 | — | 0–2 | 3–2 | 3–1 | 1–2 | 0–3 | 3–0 | 0–1 | 1–4 | 1–3 | 0–0 | 2–2 | 0–0 | 1–2 | 1–1 | 0–0 | 2–1 |
| Auxerre | 2–0 | 0–1 | 1–0 | 4–0 | — | 1–1 | 3–1 | 2–1 | 4–1 | 0–1 | 0–0 | 1–1 | 4–0 | 3–2 | 2–0 | 2–2 | 3–1 | 5–2 | 2–0 | 0–0 |
| Bastia | 1–0 | 1–2 | 2–0 | 2–1 | 0–0 | — | 3–1 | 1–2 | 2–0 | 1–1 | 1–0 | 0–0 | 0–3 | 0–0 | 1–1 | 1–4 | 0–2 | 0–4 | 3–2 | 3–0 |
| Bordeaux | 4–0 | 2–0 | 1–0 | 3–1 | 2–4 | 2–3 | — | 1–1 | 1–0 | 2–0 | 1–0 | 1–0 | 0–1 | 0–0 | 3–3 | 3–2 | 2–2 | 0–0 | 0–1 | 3–1 |
| Caen | 3–0 | 2–0 | 2–0 | 2–1 | 1–1 | 1–0 | 0–1 | — | 1–0 | 1–0 | 1–2 | 0–1 | 1–0 | 3–3 | 0–1 | 2–0 | 1–0 | 1–2 | 0–0 | 3–0 |
| Concarneau | 2–1 | 0–0 | 2–4 | 1–1 | 1–2 | 0–0 | 4–2 | 0–2 | — | 4–3 | 0–3 | 2–3 | 1–3 | 0–0 | 2–2 | 1–2 | 1–2 | 0–1 | 1–0 | 1–0 |
| Dunkerque | 2–0 | 0–1 | 0–1 | 0–2 | 1–3 | 0–5 | 0–2 | 2–2 | 2–2 | — | 0–0 | 0–1 | 0–2 | 0–1 | 1–3 | 1–0 | 1–2 | 1–0 | 2–2 | 2–1 |
| Grenoble | 0–3 | 1–3 | 0–0 | 1–0 | 1–1 | 0–0 | 2–0 | 5–1 | 2–1 | 2–2 | — | 0–0 | 0–2 | 2–1 | 2–0 | 0–1 | 2–1 | 0–2 | 0–0 | 3–3 |
| Guingamp | 3–0 | 0–0 | 1–2 | 1–4 | 2–1 | 0–1 | 0–0 | 1–0 | 0–1 | 0–1 | 2–2 | — | 0–1 | 2–2 | 0–1 | 4–0 | 3–3 | 2–2 | 0–0 | 3–0 |
| Laval | 1–1 | 1–1 | 1–0 | 0–3 | 1–3 | 1–2 | 1–0 | 2–1 | 0–3 | 1–1 | 2–1 | — | 2–4 | 1–1 | 1–1 | 1–0 | 0–1 | 1–2 | 1–0 | |
| Quevilly-Rouen | 0–1 | 3–3 | 0–1 | 1–2 | 4–3 | 0–1 | 3–2 | 1–2 | 2–3 | 1–2 | 1–1 | 0–1 | 0–0 | — | 0–0 | 2–2 | 3–1 | 2–1 | 1–1 | 0–0 |
| Paris FC | 2–0 | 3–0 | 3–1 | 2–1 | 0–2 | 1–0 | 1–2 | 0–2 | 3–0 | 1–2 | 2–1 | 2–1 | 0–1 | 2–2 | — | 1–1 | 2–0 | 0–0 | 3–2 | 2–1 |
| Pau | 1–1 | 1–0 | 4–4 | 0–3 | 2–2 | 1–2 | 3–0 | 2–3 | 2–0 | 1–1 | 3–2 | 1–2 | 3–0 | 0–2 | 2–0 | — | 2–2 | 0–1 | 1–1 | 3–1 |
| Rodez | 2–0 | 2–2 | 4–1 | 1–3 | 2–0 | 1–1 | 2–2 | 5–3 | 2–0 | 0–0 | 3–1 | 0–0 | 1–2 | 3–3 | 1–0 | 2–1 | — | 2–1 | 2–1 | 0–1 |
| Saint-Étienne | 0–0 | 0–1 | 2–0 | 2–1 | 1–0 | 3–2 | 2–1 | 1–0 | 1–0 | 2–0 | 0–1 | 1–3 | 0–0 | 2–1 | 0–1 | 1–2 | 1–1 | — | 5–0 | 0–0 |
| Troyes | 3–1 | 2–0 | 1–4 | 1–1 | 1–2 | 2–0 | 2–1 | 2–1 | 0–0 | 1–2 | 3–1 | 0–1 | 3–1 | 2–2 | 1–2 | 2–2 | 2–3 | 0–1 | — | TBD |
| Valenciennes | 1–0 | 0–1 | 0–0 | 0–0 | 1–4 | 3–1 | 1–2 | 2–2 | 0–1 | 0–1 | 2–0 | 0–0 | 1–1 | 2–1 | 0–1 | 1–4 | 0–2 | 0–2 | 1–1 | — |
A promotion play-off competition is held at the end of the season, involving the 3rd, 4th and 5th-placed teams in 2023–24 Ligue 2, and the 16th-placed team in2023–24 Ligue 1.
The quarter-final was played on 21 May, and the semi-final on 24 May.[28]
| Quarter-final | Semi-final | Final | ||||||||||||||
| 3B | Saint-Étienne | 2 | ||||||||||||||
| 4B | Rodez | 0 | ||||||||||||||
| 4B | Rodez | 2 (3) | ||||||||||||||
| 5B | Paris FC | 2 (2) | ||||||||||||||
| 3B | Saint-Étienne | 2 | 2 | 4 | ||||||||||||
| 16A | Metz | 1 | 2 | 3 | ||||||||||||
Quarter-final
Semi-final
| Saint-Étienne | 2–0 | Rodez |
|---|---|---|
| Report |
Promotion Play-off Final
1st leg
2nd leg
| Metz | 2–2 (a.e.t.) | Saint-Étienne |
|---|---|---|
| Report |
Saint-Étienne won 4–3 on aggregate and were promoted to Ligue 1, while Metz were relegated to Ligue 2.
AS Saint-Étienne drew the highest average home attendance in the 2023-24 edition of the Ligue 2.
| # | Football club | Home games | Average attendance[30] |
|---|---|---|---|
| 1 | AS Saint-Étienne | 19 | 24,608 |
| 2 | Girondins de Bordeaux | 19 | 21,545 |
| 3 | SM Caen | 19 | 15,479 |
| 4 | AJ Auxerre | 19 | 14,936 |
| 5 | SC Bastia | 19 | 10,104 |
| 6 | Angers SCO | 19 | 9,420 |
| 7 | EA Guingamp | 19 | 8,649 |
| 8 | Stade Lavallois | 19 | 7,961 |
| 9 | Amiens SC | 19 | 6,953 |
| 10 | Valenciennes FC | 19 | 6,309 |
| 11 | FC Annecy | 19 | 6,230 |
| 12 | Grenoble Foot 38 | 19 | 6,109 |
| 13 | Paris FC | 19 | 5,588 |
| 14 | ESTAC | 19 | 5,192 |
| 15 | US Quevilly-Rouen | 19 | 3,987 |
| 16 | AC Ajaccio | 19 | 3,928 |
| 17 | USL Dunkerque | 19 | 3,658 |
| 18 | Pau FC | 19 | 3,225 |
| 19 | Rodez AF | 19 | 2,946 |
| 20 | US Concarneau | 19 | 1,906 |