# 2024–25 English Football League

The 2024–25 season is the 126th season of the English Football League (EFL) and the ninth season under that name after it was renamed from The Football League in 2016. For the 12th season, the league is sponsored by Sky Betting & Gaming and is therefore known as the Sky Bet EFL.
The EFL is contested through three divisions: the Championship, League One and League Two. The winner and the runner up of the Championship are automatically promoted to the Premier League and they are joined by the winner of the Championship playoff. The bottom two teams in League Two are relegated to the National League.

## Championship
### Table

| Pos | Team | Pld | W | D | L | GF | GA | GD | Pts | Promotion, qualification or relegation |
| 1 | Leeds United | 37 | 23 | 10 | 4 | 74 | 23 | +51 | 79 | Promotion to the Premier League |
| 2 | Sheffield United | 37 | 24 | 7 | 6 | 52 | 28 | +24 | 77 | Promotion to the Premier League |
| 3 | Burnley | 37 | 20 | 15 | 2 | 50 | 11 | +39 | 75 | Qualification for the Championship play-offs |
| 4 | Sunderland | 37 | 19 | 12 | 6 | 55 | 34 | +21 | 69 | Qualification for the Championship play-offs |
| 5 | West Bromwich Albion | 37 | 13 | 17 | 7 | 47 | 33 | +14 | 56 | Qualification for the Championship play-offs |
| 6 | Coventry City | 37 | 16 | 8 | 13 | 52 | 48 | +4 | 56 | Qualification for the Championship play-offs |
| 7 | Bristol City | 37 | 13 | 15 | 9 | 47 | 40 | +7 | 54 | |
| 8 | Middlesbrough | 37 | 15 | 8 | 14 | 57 | 48 | +9 | 53 | |
| 9 | Blackburn Rovers | 37 | 15 | 7 | 15 | 41 | 38 | +3 | 52 | |
| 10 | Watford | 37 | 15 | 7 | 15 | 47 | 50 | −3 | 52 | |
| 11 | Sheffield Wednesday | 37 | 14 | 9 | 14 | 53 | 58 | −5 | 51 | |
| 12 | Norwich City | 37 | 12 | 13 | 12 | 59 | 52 | +7 | 49 | |
| 13 | Millwall | 37 | 12 | 12 | 13 | 36 | 39 | −3 | 48 | |
| 14 | Queens Park Rangers | 37 | 11 | 11 | 15 | 42 | 48 | −6 | 44 | |
| 15 | Preston North End | 37 | 9 | 17 | 11 | 37 | 43 | −6 | 44 | |
| 16 | Swansea City | 37 | 12 | 8 | 17 | 38 | 47 | −9 | 44 | |
| 17 | Portsmouth | 37 | 11 | 9 | 17 | 45 | 59 | −14 | 42 | |
| 18 | Hull City | 37 | 10 | 10 | 17 | 38 | 46 | −8 | 40 | |
| 19 | Stoke City | 37 | 9 | 12 | 16 | 37 | 50 | −13 | 39 | |
| 20 | Oxford United | 37 | 9 | 12 | 16 | 38 | 55 | −17 | 39 | |
| 21 | Cardiff City | 37 | 8 | 12 | 17 | 40 | 61 | −21 | 36 | |
| 22 | Derby County | 37 | 9 | 8 | 20 | 37 | 49 | −12 | 35 | Relegation to EFL League One |
| 23 | Luton Town | 37 | 9 | 7 | 21 | 34 | 60 | −26 | 34 | Relegation to EFL League One |
| 24 | Plymouth Argyle | 37 | 7 | 12 | 18 | 38 | 74 | −36 | 33 | Relegation to EFL League One |
* ↑ Sheffield United were deducted two points for defaulting on payments to other clubs during the 2022–23 and 2023–24 seasons, with a further two points suspended.

### Results

| Home \ Away | BLA | BRI | BUR | CAR | COV | DER | HUL | LEE | LUT | MID | MIL | NOR | OXF | PLY | PNE | POR | QPR | SHU | SHW | STO | SUN | SWA | WAT | WBA |
| Blackburn Rovers | — | 3–0 | 0–1 | 15 Mar | 0–2 | 4–2 | 0–1 | 1–0 | 2–0 | 5 Apr | 18 Apr | 1–1 | 2–1 | 2–0 | 2–1 | 3–0 | 2–0 | 0–2 | 8 Apr | 0–2 | 2–2 | 1–0 | 26 Apr | 0–0 |
| Bristol City | 2–1 | — | 0–1 | 1–1 | 1–1 | 1–0 | 1–1 | 0–0 | 1–0 | 2–1 | 4–3 | 15 Mar | 2–1 | 4–0 | 3 May | 3–0 | 1–1 | 1–2 | 0–0 | 2–0 | 18 Apr | 0–1 | 5 Apr | 8 Apr |
| Burnley | 1–1 | 29 Mar | — | 5–0 | 2–0 | 0–0 | 2–0 | 0–0 | 4–0 | 1–1 | 3 May | 12 Apr | 1–0 | 1–0 | 0–0 | 2–1 | 0–0 | 21 Apr | 4–0 | 0–0 | 0–0 | 1–0 | 2–1 | 1–1 |
| Cardiff City | 1–3 | 1–1 | 1–2 | — | 1–1 | 2–1 | 1–0 | 0–2 | 1–2 | 0–2 | 1–0 | 2–1 | 21 Apr | 5–0 | 0–2 | 2–0 | 0–2 | 0–2 | 29 Mar | 12 Apr | 0–2 | 3–0 | 1–1 | 26 Apr |
| Coventry City | 3–0 | 1–0 | 5 Apr | 2–2 | — | 1–2 | 2–1 | 0–2 | 3–2 | 3 May | 0–0 | 0–1 | 3–2 | 4–0 | 2–1 | 9 Apr | 1–0 | 2–2 | 1–2 | 3–2 | 15 Mar | 1–2 | 2–1 | 18 Apr |
| Derby County | 2–1 | 3–0 | 9 Apr | 1–0 | 2–0 | — | 1–1 | 0–1 | 18 Apr | 1–0 | 0–1 | 2–3 | 0–0 | 1–1 | 29 Mar | 4–0 | 2–0 | 0–1 | 1–2 | 3 May | 0–1 | 1–2 | 0–2 | 2–1 |
| Hull City | 0–1 | 1–1 | 1–1 | 4–1 | 12 Apr | 26 Apr | — | 3–3 | 29 Mar | 0–1 | 0–0 | 1–1 | 2–1 | 2–0 | 21 Apr | 1–1 | 1–2 | 0–2 | 0–2 | 1–2 | 0–1 | 2–1 | 1–1 | 1–2 |
| Leeds United | 1–1 | 26 Apr | 0–1 | 7–0 | 3–0 | 2–0 | 2–0 | — | 3–0 | 3–1 | 2–0 | 2–0 | 4–0 | 3–0 | 12 Apr | 3–3 | 2–0 | 2–0 | 3–0 | 21 Apr | 2–1 | 29 Mar | 2–1 | 1–1 |
| Luton Town | 12 Apr | 21 Apr | 1–4 | 1–0 | 26 Apr | 2–1 | 1–0 | 5 Apr | — | 15 Mar | 0–1 | 0–1 | 2–2 | 1–1 | 0–0 | 1–0 | 1–2 | 0–1 | 2–1 | 2–1 | 1–2 | 1–1 | 3–0 | 1–1 |
| Middlesbrough | 0–1 | 0–2 | 0–0 | 1–1 | 0–3 | 1–0 | 3–1 | 8 Apr | 5–1 | — | 1–0 | 26 Apr | 29 Mar | 18 Apr | 1–1 | 2–2 | 2–1 | 1–0 | 3–3 | 2–0 | 2–3 | 1–0 | 0–1 | 2–0 |
| Millwall | 1–0 | 0–2 | 1–0 | 2–2 | 0–1 | 1–1 | 0–1 | 1–0 | 0–1 | 12 Apr | — | 21 Apr | 0–1 | 1–0 | 3–1 | 5 Apr | 2–1 | 0–1 | 3–0 | 15 Mar | 1–1 | 26 Apr | 2–3 | 1–1 |
| Norwich City | 2–2 | 0–2 | 1–2 | 3 May | 2–1 | 1–1 | 4–0 | 1–1 | 4–2 | 3–3 | 2–1 | — | 1–1 | 6–1 | 0–1 | 18 Apr | 1–1 | 1–1 | 2–3 | 4–2 | 8 Apr | 5–1 | 4–1 | 29 Mar |
| Oxford United | 1–0 | 1–1 | 0–0 | 3–2 | 2–3 | 1–1 | 1–0 | 18 Apr | 3–2 | 2–6 | 1–1 | 2–0 | — | 2–0 | 3–1 | 0–2 | 9 Apr | | 1–3 | 1–0 | 26 Apr | 1–2 | 15 Mar | 1–1 |
| Plymouth Argyle | 2–1 | 2–2 | 0–5 | 1–1 | 21 Apr | 15 Mar | 1–1 | 3 May | 3–1 | 3–3 | 5–1 | 5 Apr | 1–1 | — | 3–3 | 1–0 | 0–1 | 12 Apr | 0–3 | 0–1 | 3–2 | 1–2 | 2–2 | 2–1 |
| Preston North End | 0–0 | 1–3 | 0–0 | 8 Apr | 1–0 | 1–1 | 1–0 | 1–1 | 1–0 | 2–1 | 1–1 | 2–2 | 1–1 | 26 Apr | — | 15 Mar | 18 Apr | 0–2 | 3–1 | 5 Apr | 0–0 | 0–0 | 3–0 | 1–1 |
| Portsmouth | 29 Mar | 3–0 | 0–0 | 2–1 | 4–1 | 12 Apr | 3 May | 1–0 | 0–0 | 2–1 | 0–1 | 0–0 | 1–1 | 1–2 | 3–1 | — | 2–1 | 0–0 | 1–2 | 3–1 | 1–3 | 4–0 | 21 Apr | 0–3 |
| Queens Park Rangers | 2–1 | 12 Apr | 26 Apr | 5 Apr | 1–1 | 4–0 | 1–3 | 15 Mar | 2–1 | 1–4 | 1–1 | 3–0 | 2–0 | 1–1 | 2–1 | 1–2 | — | 1–2 | 0–2 | 1–1 | 0–0 | 21 Apr | 3–1 | 1–3 |
| Sheffield United | 3 May | 1–1 | 0–2 | 18 Apr | 29 Mar | 1–0 | 0–3 | 1–3 | 2–0 | 3–1 | 8 Apr | 2–0 | 3–0 | 2–0 | 1–0 | 2–1 | 2–2 | — | 1–0 | 2–0 | 1–0 | 1–0 | 1–0 | 1–1 |
| Sheffield Wednesday | 0–1 | 2–2 | 0–2 | 1–1 | 1–2 | 4–2 | 5 Apr | 0–2 | 1–1 | 21 Apr | 2–2 | 2–0 | 12 Apr | 4–0 | 1–1 | 26 Apr | 1–1 | 16 Mar | — | 2–0 | 1–2 | 0–0 | 2–6 | 3–2 |
| Stoke City | 1–0 | 2–2 | 0–2 | 2–2 | 1–0 | 2–1 | 1–3 | 0–2 | 8 Apr | 1–3 | 1–1 | 1–1 | 0–0 | 0–0 | 0–0 | 6–1 | 29 Mar | 26 Apr | 18 Apr | — | 1–0 | 3–1 | 0–0 | 1–2 |
| Sunderland | 21 Apr | 1–1 | 1–0 | 2–1 | 2–2 | 2–0 | 0–1 | 2–2 | 2–0 | 1–0 | 29 Mar | 2–1 | 2–0 | 2–2 | 1–1 | 1–0 | 3 May | 2–1 | 4–0 | 2–1 | — | 12 Apr | 2–2 | 0–0 |
| Swansea City | 3–0 | 1–1 | 15 Mar | 1–1 | 0–2 | 5 Apr | 18 Apr | 3–4 | 2–1 | 1–0 | 0–1 | 1–0 | 3 May | 9 Apr | 3–0 | 2–2 | 3–0 | 1–2 | 0–1 | 0–0 | 2–3 | — | 1–0 | 1–1 |
| Watford | 1–0 | 1–0 | 18 Apr | 1–2 | 1–1 | 2–1 | 8 Apr | 0–4 | 2–0 | 2–1 | 1–2 | 0–1 | 1–0 | 29 Mar | 1–2 | 2–1 | 0–0 | 1–2 | 3 May | 3–0 | 2–1 | 1–0 | — | 2–1 |
| West Bromwich Albion | 0–2 | 2–0 | 0–0 | 0–0 | 2–0 | 21 Apr | 15 Mar | 0–0 | 3 May | 0–1 | 0–0 | 2–2 | 2–0 | 1–0 | 3–1 | 5–1 | 1–0 | 2–2 | 2–1 | 1–1 | 5 Apr | 1–0 | 12 Apr | — |

## League One
### Table

| Pos | Team | Pld | W | D | L | GF | GA | GD | Pts | Promotion, qualification or relegation |
| 1 | Birmingham City | 35 | 25 | 7 | 3 | 58 | 23 | +35 | 82 | Promotion to EFL Championship |
| 2 | Wycombe Wanderers | 35 | 19 | 11 | 5 | 61 | 33 | +28 | 68 | Promotion to EFL Championship |
| 3 | Wrexham | 36 | 20 | 8 | 8 | 50 | 30 | +20 | 68 | Qualification for League One play-offs |
| 4 | Charlton Athletic | 36 | 18 | 9 | 9 | 47 | 31 | +16 | 63 | Qualification for League One play-offs |
| 5 | Stockport County | 36 | 17 | 11 | 8 | 52 | 34 | +18 | 62 | Qualification for League One play-offs |
| 6 | Bolton Wanderers | 36 | 18 | 6 | 12 | 59 | 54 | +5 | 60 | Qualification for League One play-offs |
| 7 | Huddersfield Town | 36 | 17 | 7 | 12 | 47 | 33 | +14 | 58 | |
| 8 | Reading | 36 | 16 | 10 | 10 | 51 | 45 | +6 | 58 | |
| 9 | Leyton Orient | 36 | 16 | 5 | 15 | 51 | 37 | +14 | 53 | |
| 10 | Barnsley | 36 | 15 | 7 | 14 | 50 | 51 | −1 | 52 | |
| 11 | Blackpool | 36 | 12 | 15 | 9 | 54 | 48 | +6 | 51 | |
| 12 | Stevenage | 36 | 13 | 9 | 14 | 34 | 37 | −3 | 48 | |
| 13 | Lincoln City | 36 | 12 | 10 | 14 | 48 | 45 | +3 | 46 | |
| 14 | Rotherham United | 35 | 12 | 8 | 15 | 39 | 41 | −2 | 44 | |
| 15 | Wigan Athletic | 35 | 11 | 10 | 14 | 32 | 34 | −2 | 43 | |
| 16 | Exeter City | 35 | 12 | 7 | 16 | 39 | 50 | −11 | 43 | |
| 17 | Bristol Rovers | 36 | 12 | 6 | 18 | 39 | 55 | −16 | 42 | |
| 18 | Mansfield Town | 36 | 11 | 8 | 17 | 41 | 50 | −9 | 41 | |
| 19 | Northampton Town | 36 | 10 | 11 | 15 | 36 | 53 | −17 | 41 | |
| 20 | Peterborough United | 35 | 10 | 9 | 16 | 52 | 60 | −8 | 39 | |
| 21 | Burton Albion | 36 | 7 | 12 | 17 | 36 | 53 | −17 | 33 | Relegation to EFL League Two |
| 22 | Crawley Town | 36 | 7 | 9 | 20 | 38 | 66 | −28 | 30 | Relegation to EFL League Two |
| 23 | Cambridge United | 36 | 7 | 8 | 21 | 35 | 60 | −25 | 29 | Relegation to EFL League Two |
| 24 | Shrewsbury Town | 36 | 7 | 7 | 22 | 34 | 60 | −26 | 28 | Relegation to EFL League Two |

### Results

| Home \ Away | BAR | BIR | BLA | BOL | BRI | BRT | CAM | CHA | CRA | EXE | HUD | LEY | LIN | MAN | NOR | PET | REA | ROT | SHR | STE | STK | WIG | WRX | WYC |
| Barnsley | — | 1–2 | 0–3 | 12 APR | 2–1 | 0–0 | 22 MAR | 2–2 | 3–0 | 1 APR | 1–2 | 0–4 | 4–3 | 1–2 | 2–2 | 21 APR | 2–2 | 2–0 | 26 APR | 0–1 | 1–1 | 0–1 | 2–1 | 2–2 |
| Birmingham City | 5 APR | — | 0–0 | 2–0 | 2–0 | 2–0 | 4–0 | 1–0 | 18 APR | 1–0 | 1–0 | 2–0 | 1–0 | 26 APR | 1–1 | 3–2 | 1–1 | 2–1 | 29 MAR | 2–1 | 2–0 | 2–1 | 3–1 | 1–0 |
| Blackpool | 1–2 | 12 APR | — | 29 MAR | 3 MAY | 3–0 | 2–1 | 2–2 | 3–1 | 2–1 | 2–2 | 15 MAR | 1–1 | 3–3 | 0–0 | 0–0 | 1 APR | 0–0 | 1–1 | 0–0 | 0–3 | 2–2 | 21 APR | 2–2 |
| Bolton Wanderers | 1–2 | 3–1 | 2–1 | — | 5 APR | 2–1 | 2–2 | 1–2 | 4–3 | 0–2 | 0–4 | 2–1 | 3–0 | 3–1 | 3–1 | 1–0 | 5–2 | 22 MAR | 2–2 | 3 MAY | 15 MAR | 0–2 | 0–0 | 18 APR |
| Bristol Rovers | 3–1 | 1 APR | 0–2 | 3–2 | — | 3–1 | 2–0 | 3–2 | 0–0 | 12 APR | 1–0 | 1 JAN | 1–1 | 29 MAR | 1–0 | 3–1 | 26 APR | 2–3 | 1–0 | 21 APR | 1–1 | 0–4 | 1–1 | 1–2 |
| Burton Albion | 1–2 | 21 APR | 1–1 | 1–2 | 1–3 | — | 26 APR | 0–1 | 0–0 | 1–2 | 12 APR | 1 APR | 2–3 | 1–1 | 0–1 | 2–2 | 3–2 | 4–2 | 2–0 | 0–0 | 0–3 | 22 MAR | 0–1 | 2–3 |
| Cambridge United | 1–1 | 3 MAY | 4–4 | 1–1 | 0–1 | 1–0 | — | 12 APR | 0–1 | 0–1 | 0–4 | 21 APR | 0–2 | 3–2 | 29 MAR | 15 MAR | 1–3 | 0–1 | 4–1 | 0–1 | 2–0 | 2–0 | 1 APR | 1–1 |
| Charlton Athletic | 1–0 | 1–0 | 1–2 | 2–0 | 2–0 | 3 MAY | 2–1 | — | 1–2 | 3–0 | 29 MAR | 1–0 | 5 APR | 0–0 | 18 APR | 2–1 | 0–0 | 1–1 | 1–0 | 2–0 | 1–1 | 15 MAR | 2–2 | 2–1 |
| Crawley Town | 0–3 | 0–1 | 2–1 | 0–2 | 22 MAR | 1–1 | 0–2 | 0–1 | — | 21 APR | 2–2 | 12 APR | 3–0 | 0–2 | 26 APR | 1 APR | 1–1 | 1–0 | 3–5 | 3–1 | 1–1 | 1–1 | 1–2 | 1–1 |
| Exeter City | 1–2 | 0–2 | 1–3 | 1–2 | 3–1 | 18 APR | 1–0 | 1–0 | 4–4 | — | 26 APR | 2–6 | 0–0 | 2–0 | 1–1 | 1–2 | 1–2 | 1–0 | 2–0 | 2–0 | 5 APR | 8 APR | 29 MAR | 2–2 |
| Huddersfield Town | 2–0 | 0–1 | 0–2 | 0–1 | 3–1 | 1–1 | 18 APR | 2–1 | 15 MAR | 2–0 | — | 3 MAY | 2–2 | 5 APR | 1–3 | 0–1 | 0–0 | 0–0 | 1–0 | 2–1 | 1–0 | 1–0 | 0–1 | 22 MAR |
| Leyton Orient | 18 APR | 1–2 | 3–0 | 1–2 | 3–0 | 0–0 | 2–0 | 1–2 | 3–0 | 0–1 | 0–2 | — | 3–2 | 3–0 | 1–2 | 2–2 | 2–0 | 1–0 | 1–0 | 29 MAR | 0–1 | 5 APR | 0–0 | 26 APR |
| Lincoln City | 1–2 | 1–3 | 0–2 | 21 APR | 15 MAR | 0–1 | 1–1 | 0–0 | 4–1 | 22 MAR | 1 APR | 2–1 | — | 4–1 | 2–1 | 5–1 | 2–0 | 0–1 | 12 APR | 0–0 | 2–1 | 0–0 | 3 MAY | 2–3 |
| Mansfield Town | 15 MAR | 1–1 | 2–0 | 2–1 | 0–1 | 3–3 | 2–1 | 1 APR | 0–1 | 3 MAY | 1–2 | 22 MAR | 0–3 | — | 0–1 | 12 APR | 21 APR | 1–0 | 2–1 | 0–1 | 1–1 | 0–0 | 1–2 | 1–2 |
| Northampton Town | 1–2 | 15 MAR | 22 MAR | 2–4 | 2–1 | 0–0 | 0–0 | 0–5 | 3–0 | 2–1 | 3–2 | 1–0 | 0–1 | 0–2 | — | 2–1 | 12 APR | 1 APR | 21 APR | 0–0 | 1–1 | 3 MAY | 0–2 | 1–2 |
| Peterborough United | 1–3 | TBD | 5–1 | 26 APR | 3–2 | 0–1 | 6–1 | 22 MAR | 4–3 | 1–1 | 0–2 | 0–0 | 1–1 | 0–3 | a 5 APR | — | 1–2 | 3–3 | 3–1 | 2–1 | 18 APR | 1–0 | 0–2 | 1–1 |
| Reading | 3 MAY | 0–0 | 0–3 | 1–0 | 1–0 | 3–1 | 3–0 | 2–0 | 4–1 | 0–0 | 2–1 | 0–1 | 18 APR | 2–1 | 4–1 | 29 MAR | — | 2–1 | 1–1 | 15 MAR | 1–3 | 2–0 | 2–0 | 5 APR |
| Rotherham United | 0–1 | 0–2 | 5 APR | 3–1 | 0–0 | 2–2 | 2–1 | 4–2 | 29 MAR | 15 MAR | 2–1 | 1–0 | 2–1 | 18 APR | 3–0 | 3 MAY | 2–1 | — | 1–2 | 2–0 | 1–1 | 0–1 | 0–1 | TBD |
| Shrewsbury Town | 0–2 | 3–2 | 1–2 | 2–3 | 0–0 | 15 MAR | 5 APR | 0–1 | 3 MAY | 0–2 | 0–1 | 3–0 | 1–0 | 2–1 | 1–1 | 1–4 | 22 MAR | 1–1 | — | 0–1 | 0–2 | 18 APR | 2–1 | 1–4 |
| Stevenage | 3–0 | 22 MAR | 18 APR | 1–4 | 3–0 | 0–1 | 0–2 | 1–0 | 5 APR | 4–1 | 1–2 | 0–0 | 0–1 | 1–1 | 2–0 | 1–1 | 1–1 | 26 APR | 1–0 | — | 2–1 | 1–2 | 1–0 | 0–3 |
| Stockport County | 2–1 | 1–1 | 2–1 | 5–0 | 2–0 | 29 MAR | 2–0 | 0–0 | 2–0 | 2–0 | 21 APR | 1–4 | 26 APR | 1–2 | 1–1 | 2–1 | 4–1 | 12 APR | 1–0 | 1 APR | — | 0–0 | 1–0 | 0–5 |
| Wigan Athletic | 29 MAR | 0–3 | 26 APR | 1 APR | 2–0 | 1–2 | 1–0 | 0–1 | 1–0 | 0–0 | 2–1 | 0–2 | 1–1 | 1–2 | 2–1 | 3–0 | 1–2 | 21 APR | 2–2 | 0–0 | 0–2 | — | 12 APR | 0–1 |
| Wrexham | 1–0 | 1–1 | 2–1 | 0–0 | 18 APR | 5 APR | 2–2 | 26 APR | 2–1 | 3–0 | 0–0 | 1–2 | 1–0 | 1–0 | 4–1 | 1–0 | 3–0 | 1–0 | 3–0 | 2–3 | 22 MAR | 2–1 | — | 3–2 |
| Wycombe Wanderers | 2–1 | 2–3 | 1–1 | 0–0 | 2–0 | 2–0 | 2–1 | 21 APR | 1–0 | 2–1 | 0–1 | 3–0 | 29 MAR | 1–0 | 0–0 | 3–1 | 1–1 | 2–0 | 1 APR | 12 APR | 3 MAY | 0–0 | 15 MAR | — |
* 1 2 original fixture on 11 January postponed, due to FA Cup action.

## League Two
### Table

| Pos | Team | Pld | W | D | L | GF | GA | GD | Pts | Promotion, qualification or relegation |
| 1 | Walsall | 36 | 20 | 8 | 8 | 65 | 41 | +24 | 68 | Promotion to EFL League One |
| 2 | Bradford City | 36 | 19 | 9 | 8 | 48 | 30 | +18 | 66 | Promotion to EFL League One |
| 3 | Doncaster Rovers | 36 | 18 | 8 | 10 | 53 | 43 | +10 | 62 | Promotion to EFL League One |
| 4 | Notts County | 36 | 17 | 10 | 9 | 55 | 37 | +18 | 61 | Qualification for League Two play-offs |
| 5 | AFC Wimbledon | 36 | 17 | 9 | 10 | 47 | 25 | +22 | 60 | Qualification for League Two play-offs |
| 6 | Port Vale | 35 | 15 | 13 | 7 | 44 | 37 | +7 | 58 | Qualification for League Two play-offs |
| 7 | Crewe Alexandra | 36 | 14 | 14 | 8 | 44 | 37 | +7 | 56 | Qualification for League Two play-offs |
| 8 | Grimsby Town | 36 | 17 | 5 | 14 | 51 | 53 | −2 | 56 | |
| 9 | Colchester United | 36 | 13 | 16 | 7 | 42 | 33 | +9 | 55 | |
| 10 | Bromley | 36 | 13 | 12 | 11 | 46 | 43 | +3 | 51 | |
| 11 | Salford City | 36 | 13 | 11 | 12 | 43 | 41 | +2 | 50 | |
| 12 | Fleetwood Town | 36 | 12 | 13 | 11 | 49 | 43 | +6 | 49 | |
| 13 | Cheltenham Town | 36 | 13 | 10 | 13 | 48 | 51 | −3 | 49 | |
| 14 | Chesterfield | 35 | 13 | 9 | 13 | 56 | 43 | +13 | 48 | |
| 15 | Swindon Town | 36 | 11 | 13 | 12 | 52 | 52 | 0 | 46 | |
| 16 | Barrow | 35 | 12 | 7 | 16 | 38 | 41 | −3 | 43 | |
| 17 | Newport County | 36 | 12 | 7 | 17 | 45 | 61 | −16 | 43 | |
| 18 | Milton Keynes Dons | 35 | 12 | 6 | 17 | 46 | 50 | −4 | 42 | |
| 19 | Gillingham | 35 | 11 | 8 | 16 | 30 | 38 | −8 | 41 | |
| 20 | Harrogate Town | 36 | 11 | 7 | 18 | 29 | 45 | −16 | 40 | |
| 21 | Accrington Stanley | 36 | 10 | 9 | 17 | 44 | 54 | −10 | 39 | |
| 22 | Tranmere Rovers | 36 | 7 | 12 | 17 | 27 | 55 | −28 | 33 | |
| 23 | Morecambe | 36 | 8 | 5 | 23 | 31 | 54 | −23 | 29 | Relegation to National League |
| 24 | Carlisle United | 35 | 6 | 9 | 20 | 25 | 51 | −26 | 27 | Relegation to National League |

### Results

| Home \ Away | ACC | WIM | BAR | BRA | BRM | CAR | CHT | CHF | COL | CRE | DON | FLE | GIL | GRI | HAR | MIL | MOR | NEW | NCO | POV | SAL | SWI | TRA | WAL |
| Accrington Stanley | — | 0–0 | 1–0 | 29 MAR | 1–2 | 21 APR | 0–0 | 3 MAY | 1–1 | 0–1 | 1–2 | 1 APR | 15 MAR | 3–2 | 3–3 | 2–0 | 2–1 | 5–0 | 0–3 | 2–2 | 0–2 | 2–2 | 12 APR | 0–0 |
| AFC Wimbledon | 2–2 | — | 22 MAR | 1–0 | 0–1 | 4–0 | 1–2 | 18 APR | 4–2 | 3–0 | 1–0 | 1–0 | 1–0 | 0–1 | 5 APR | 3–0 | 3–0 | 2–2 | 2–0 | 26 APR | 1–0 | 1–1 | 2–0 | 0–1 |
| Barrow | 2–0 | 1–3 | — | 2–2 | 26 APR | 0–1 | 2–1 | 29 MAR | 1–1 | 1–0 | 1–3 | 2–0 | 3–0 | 3–0 | 0–2 | 2–1 | 0–1 | 2–0 | 1–1 | 4–0 | 1 APR | 1–1 | 21 APR | 12 APR |
| Bradford City | 1–0 | 0–0 | 1–1 | — | 3–1 | 2–1 | 3–0 | 2–1 | 22 MAR | 5 APR | 1–2 | 3 MAY | 2–1 | 3–1 | 1–0 | 2–0 | 1–0 | 3–1 | 18 APR | 2–1 | 0–0 | 1–0 | 15 MAR | 3–0 |
| Bromley | 5 APR | 2–0 | 1–1 | 0–1 | — | 1–1 | 3 MAY | 2–2 | 0–1 | 1–2 | 1–0 | 1–0 | 2–1 | 0–2 | 2–0 | 1–1 | 18 APR | 5–2 | 2–4 | 0–0 | 29 MAR | 1–1 | 1–2 | 15 MAR |
| Carlisle United | 2–1 | 15 MAR | 1–0 | 0–1 | 22 MAR | — | 0–1 | 0–2 | 0–0 | 1–1 | 0–0 | 2–3 | 0–0 | 2–3 | 1–1 | 25 MAR | 0–1 | 5 APR | 0–2 | 18 APR | 3 MAY | 1–5 | 1–2 | 1–1 |
| Cheltenham Town | 2–1 | 0–1 | 3–2 | 1–1 | 1–1 | 26 APR | — | 1–0 | 0–1 | 2–1 | 5 APR | 0–2 | 18 APR | 1–1 | 1–0 | 22 MAR | 2–0 | 3–2 | 3–5 | 1–1 | 2–1 | 2–3 | 1–0 | 2–2 |
| Chesterfield | 0–3 | 1–0 | 1–0 | 21 APR | 3–0 | 1 APR | 1–1 | — | 1–1 | 1–3 | 5–2 | 12 APR | 8 APR | 2–1 | 22 MAR | 1–2 | 26 APR | 2–1 | 2–2 | 1–1 | 1–1 | 1–1 | 3–0 | 2–2 |
| Colchester United | 0–2 | 1–1 | 3 MAY | 1–1 | 1–1 | 0–0 | 1–2 | 1–0 | — | 18 APR | 1–1 | 15 MAR | 2–0 | 28 MAR | 0–1 | 2–0 | 1–0 | 0–0 | 5 APR | 2–1 | 1–2 | 4–0 | 3–0 | 2–1 |
| Crewe Alexandra | 0–1 | 1–1 | 3–0 | 1–1 | 4–1 | 3–2 | 12 APR | 0–5 | 0–0 | — | 15 MAR | 1–4 | 2–0 | 1 APR | 3–0 | 21 APR | 1–0 | 0–3 | 2–0 | 29 MAR | 1–1 | 0–0 | 3–1 | 3 MAY |
| Doncaster Rovers | 4–1 | 12 APR | 1–0 | 26 APR | 0–1 | 29 MAR | 2–2 | 0–3 | 21 APR | 1–1 | — | 2–1 | 1–0 | 1–2 | 1–0 | 2–1 | 1–0 | 3–0 | 1–1 | 1–2 | 1–1 | 2–2 | 3–1 | 1 APR |
| Fleetwood Town | 1–1 | 0–0 | 18 APR | 1–0 | 0–0 | 1–2 | 2–0 | 2–0 | 0–0 | 0–1 | 2–4 | — | 0–0 | 1–0 | 1–1 | 2–1 | 2–2 | 26 APR | 2–2 | 1–1 | 2–2 | 5 APR | 22 MAR | 2–0 |
| Gillingham | 1–2 | 21 APR | 2–0 | 1–0 | 0–3 | 4–1 | 2–2 | 1–0 | 1 APR | 0–0 | 0–1 | 1–2 | — | 0–1 | 1–2 | 12 APR | 1–0 | 0–2 | 1–2 | 1–0 | 1–0 | 26 APR | 3–0 | 22 MAR |
| Grimsby Town | 5–2 | 3 MAY | 1–2 | 2–1 | 1–0 | 2–1 | 3–2 | 1–1 | 0–1 | 0–2 | 0–3 | 2–1 | 1–1 | — | 2–1 | 1–3 | 5 APR | 22 MAR | 0–2 | 3–0 | 15 MAR | 18 APR | 1–1 | 1–4 |
| Harrogate Town | 2–1 | 0–3 | 0–1 | 2–1 | 0–2 | 1–0 | 2–0 | 2–1 | 0–0 | 1–1 | 2–0 | 21 APR | 29 MAR | 12 APR | — | 1–5 | 1–2 | 1–0 | 26 APR | 0–1 | 0–2 | 1–0 | 1 APR | 0–2 |
| Milton Keynes Dons | 2–1 | 0–0 | 5 APR | 1–2 | 0–1 | 3–0 | 3–2 | 3–0 | 0–1 | 1–1 | 1–1 | 29 MAR | 0–1 | 26 APR | 2–1 | — | 2–1 | 18 APR | 0–2 | 0–1 | 0–1 | 3–1 | 1–1 | 1–0 |
| Morecambe | 2–0 | 1–0 | 15 MAR | 1–1 | 0–2 | 12 APR | 1 APR | 2–5 | 3–3 | 0–1 | 0–1 | 4–2 | 0–1 | 0–3 | 3 MAY | 1–3 | — | 0–1 | 1–1 | 0–1 | 21 APR | 29 MAR | 2–0 | 0–2 |
| Newport County | 3–1 | 1–2 | 1–0 | 0–0 | 1 APR | 1–0 | 0–3 | 0–3 | 12 APR | 2–1 | 3–1 | 0–0 | 3–1 | 0–0 | 15 MAR | 6–3 | 2–1 | — | 29 MAR | 1–4 | 3–1 | 1–2 | 3 MAY | 21 APR |
| Notts County | 2–0 | 1–0 | 1–2 | 3–0 | 1–1 | 1–0 | 21 APR | 15 MAR | 1–1 | 22 MAR | 3 MAY | 2–2 | 0–1 | 4–1 | 1–0 | 1 APR | 2–0 | 0–0 | — | 0–1 | 11 APR | 2–0 | 2–1 | 1–2 |
| Port Vale | 2–1 | 3–2 | 25 MAR | 1 APR | 12 APR | 0–0 | 0–0 | 1–0 | 1–1 | 1–1 | 2–3 | 3–1 | 3 MAY | 21 APR | 0–0 | 15 MAR | 22 MAR | 3–2 | 1–0 | — | 2–1 | 2–1 | 0–0 | 0–1 |
| Salford City | 18 APR | 1–0 | 3–0 | 1–2 | 3–3 | 0–1 | 2–1 | 0–4 | 26 APR | 1–1 | 22 MAR | 0–2 | 5 APR | 1–2 | 2–0 | 1–0 | 1–0 | 1–1 | 3–0 | 0–2 | — | 2–1 | 2–0 | 0–2 |
| Swindon Town | 22 MAR | 1 APR | 2–0 | 12 APR | 21 APR | 0–2 | 15 MAR | 1–0 | 3–2 | 0–0 | 1–2 | 3–1 | 1–1 | 3–1 | 0–0 | 3 MAY | 2–3 | 4–0 | 1–2 | 3–3 | 2–2 | — | 3–1 | 0–4 |
| Tranmere Rovers | 0–1 | 0–2 | 1–1 | 0–2 | 2–1 | 1–0 | 28 MAR | 5 APR | 1–3 | 26 APR | 18 APR | 0–0 | 1–1 | 0–1 | 2–1 | 1–1 | 2–2 | 2–1 | 0–0 | 1–1 | 0–0 | 1–1 | — | 1–0 |
| Walsall | 26 APR | 29 MAR | 1–0 | 2–1 | 2–2 | 3–1 | 2–1 | 3–1 | 4–0 | 1–1 | 2–0 | 2–6 | 1–1 | 1–3 | 18 APR | 4–2 | 1–0 | 2–0 | 3–2 | 5 APR | 2–2 | 0–1 | 5–1 | — |

## Managerial changes

| Team | Outgoing manager | Manner of departure | Date of vacancy | Position in table | Incoming manager | Date of appointment | Position in table |
| Swindon Town | Michael Flynn | Mutual consent | 15 January 2024 | 2023–24 English Football League | Mark Kennedy | 29 May 2024 | Pre-season |
| Sunderland | Michael Beale | Sacked | 19 February 2024 | 2023–24 English Football League | Régis Le Bris | 22 June 2024 | Pre-season |
| Plymouth Argyle | Ian Foster | Sacked | 1 April 2024 | 2023–24 English Football League | Wayne Rooney | 25 May 2024 | Pre-season |
| Stevenage | Steve Evans | Appointed Rotherham United manager | 17 April 2024 | 2023–24 English Football League | Alex Revell | 9 May 2024 | Pre-season |
| Barnsley | Neill Collins | Sacked | 22 April 2024 | 2023–24 English Football League | Darrell Clarke | 23 May 2024 | Pre-season |
| Gillingham | Stephen Clemence | Sacked | 29 April 2024 | Pre-season | Mark Bonner | 7 May 2024 | Pre-season |
| Morecambe | Ged Brannan | Appointed Accrington Stanley assistant manager | 30 April 2024 | Pre-season | Derek Adams | 3 June 2024 | Pre-season |
| Hull City | Liam Rosenior | Sacked | 7 May 2024 | Pre-season | Tim Walter | 31 May 2024 | Pre-season |
| Huddersfield Town | André Breitenreiter | Mutual consent | 10 May 2024 | Pre-season | Michael Duff | 13 May 2024 | Pre-season |
| Norwich City | David Wagner | Sacked | 17 May 2024 | Pre-season | Johannes Hoff Thorup | 30 May 2024 | Pre-season |
| Birmingham City | Tony Mowbray | Resigned | 21 May 2024 | Pre-season | Chris Davies | 6 June 2024 | Pre-season |
| Cheltenham Town | Darrell Clarke | Appointed Barnsley manager | 23 May 2024 | Pre-season | Michael Flynn | 31 May 2024 | Pre-season |
| Barrow | Pete Wild | Mutual consent | 24 May 2024 | Pre-season | Stephen Clemence | 31 May 2024 | Pre-season |
| Burnley | Vincent Kompany | Appointed Bayern Munich manager | 29 May 2024 | Pre-season | Scott Parker | 5 July 2024 | Pre-season |
| Burton Albion | Martin Paterson | Mutual consent | 31 May 2024 | Pre-season | Mark Robinson | 4 June 2024 | Pre-season |
| Newport County | Graham Coughlan | Sacked | 20 June 2024 | Pre-season | Nelson Jardim | 16 July 2024 | Pre-season |
| Preston North End | Ryan Lowe | Resigned | 12 August 2024 | 22nd | Paul Heckingbottom | 20 August 2024 | 23rd |
| Blackpool | Neil Critchley | Sacked | 21 August 2024 | 23rd | Steve Bruce | 3 September 2024 | 22nd |
| Carlisle United | Paul Simpson | Sacked | 31 August 2024 | 20th | Mike Williamson | 19 September 2024 | 22nd |
| Stoke City | Steven Schumacher | Sacked | 16 September 2024 | 13th | Narcís Pèlach | 18 September 2024 | 13th |
| Milton Keynes Dons | Mike Williamson | Appointed Carlisle United manager | 19 September 2024 | 20th | Scott Lindsey | 25 September 2024 | 19th |
| Cardiff City | Erol Bulut | Sacked | 22 September 2024 | 24th | Omer Riza | 22 September 2024 | 20th |
| Crawley Town | Scott Lindsey | Appointed Milton Keynes Dons manager | 25 September 2024 | 18th | Rob Elliot | 1 October 2024 | 22nd |
| Burton Albion | Mark Robinson | Sacked | 23 October 2024 | 24th | Gary Bowyer | 18 December 2024 | 23rd |
| Swindon Town | Mark Kennedy | Sacked | 25 October 2024 | 22nd | Ian Holloway | 25 October 2024 | 22nd |
| Shrewsbury Town | Paul Hurst | Sacked | 3 November 2024 | 23rd | Gareth Ainsworth | 13 November 2024 | 24th |
| Coventry City | Mark Robins | Sacked | 7 November 2024 | 17th | Frank Lampard | 28 November 2024 | 17th |
| Hull City | Tim Walter | Sacked | 27 November 2024 | 22nd | Rubén Sellés | 6 December 2024 | 22nd |
| Northampton Town | Jon Brady | Resigned | 5 December 2024 | 21st | Kevin Nolan | 23 December 2024 | 20th |
| Reading | Rubén Sellés | Appointed Hull City manager | 6 December 2024 | 6th | Noel Hunt | 6 December 2024 | 6th |
| Millwall | Neil Harris | Mutual consent | 10 December 2024 | 13th | Alex Neil | 30 December 2024 | 13th |
| Oxford United | Des Buckingham | Sacked | 15 December 2024 | 20th | Gary Rowett | 20 December 2024 | 20th |
| Bristol Rovers | Matt Taylor | Sacked | 16 December 2024 | 20th | Iñigo Calderón | 26 December 2024 | 19th |
| Fleetwood Town | Charlie Adam | Sacked | 22 December 2024 | 18th | Pete Wild | 24 December 2024 | 18th |
| West Bromwich Albion | Carlos Corberán | Appointed Valencia manager | 25 December 2024 | 7th | Tony Mowbray | 17 January 2025 | 7th |
| Stoke City | Narcís Pèlach | Sacked | 27 December 2024 | 19th | Mark Robins | 1 January 2025 | 18th |
| Plymouth Argyle | Wayne Rooney | Mutual consent | 31 December 2024 | 24th | Miron Muslic | 10 January 2025 | 24th |
| Gillingham | Mark Bonner | Sacked | 5 January 2025 | 14th | John Coleman | 5 January 2025 | 14th |
| Luton Town | Rob Edwards | Mutual consent | 9 January 2025 | 20th | Matt Bloomfield | 14 January 2025 | 20th |
| Wycombe Wanderers | Matt Bloomfield | Appointed Luton Town Manager | 14 January 2025 | 2nd | Mike Dodds | 2 February 2025 | 2nd |
| Barrow | Stephen Clemence | Sacked | 18 January 2025 | 17th | Andy Whing | 20 January 2025 | 17th |
| Bolton Wanderers | Ian Evatt | Mutual consent | 22 January 2025 | 9th | Steven Schumacher | 30 January 2025 | 7th |
| Carlisle United | Mike Williamson | Sacked | 3 February 2025 | 24th | Mark Hughes | 6 February 2025 | 24th |
| Derby County | Paul Warne | Sacked | 7 February 2025 | 22nd | John Eustace | 13 February 2025 | 21st |
| Blackburn Rovers | John Eustace | Appointed Derby County Manager | 13 February 2025 | 5th | Valérien Ismaël | 25 February 2025 | 6th |
| Cambridge United | Garry Monk | Sacked | 16 February 2025 | 24th | Neil Harris | 19 February 2025 | 24th |
| Swansea City | Luke Williams | Sacked | 17 February 2025 | 17th | | | |
| Tranmere Rovers | Nigel Adkins | Mutual agreement | 26 February 2025 | 22nd | | | |
| Wigan Athletic | Shaun Maloney | Sacked | 2 March 2025 | 15th | Ryan Lowe | 12 March 2025 | 15th |
| Milton Keynes Dons | Scott Lindsey | Sacked | 2 March 2025 | 17th | | | |
| Huddersfield Town | Michael Duff | Sacked | 9 March 2025 | 7th | | | |
| Barnsley | Darrell Clarke | Sacked | 12 March 2025 | 10th | | | |