# 2022–23 English Football League

The 2022–23 season is the 124th season of the English Football League (EFL) and the seventh season under that name after it was renamed from The Football League in 2016. For the tenth season running, 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 | Teamvte | Pld | W | D | L | GF | GA | GD | Pts | Promotion, qualification or relegation |
| 1 | Burnley (C, P) | 46 | 29 | 14 | 3 | 87 | 35 | +52 | 101 | Promotion to Premier League |
| 2 | Sheffield United (P) | 46 | 28 | 7 | 11 | 73 | 39 | +34 | 91 | Promotion to Premier League |
| 3 | Luton Town (O, P) | 46 | 21 | 17 | 8 | 57 | 39 | +18 | 80 | Qualification for Championship play-offs |
| 4 | Middlesbrough | 46 | 22 | 9 | 15 | 84 | 56 | +28 | 75 | Qualification for Championship play-offs |
| 5 | Coventry City | 46 | 18 | 16 | 12 | 58 | 46 | +12 | 70 | Qualification for Championship play-offs |
| 6 | Sunderland | 46 | 18 | 15 | 13 | 68 | 55 | +13 | 69 | Qualification for Championship play-offs |
| 7 | Blackburn Rovers | 46 | 20 | 9 | 17 | 52 | 54 | −2 | 69 | |
| 8 | Millwall | 46 | 19 | 11 | 16 | 57 | 50 | +7 | 68 | |
| 9 | West Bromwich Albion | 46 | 18 | 12 | 16 | 59 | 53 | +6 | 66 | |
| 10 | Swansea City | 46 | 18 | 12 | 16 | 68 | 64 | +4 | 66 | |
| 11 | Watford | 46 | 16 | 15 | 15 | 56 | 53 | +3 | 63 | |
| 12 | Preston North End | 46 | 17 | 12 | 17 | 45 | 59 | −14 | 63 | |
| 13 | Norwich City | 46 | 17 | 11 | 18 | 57 | 54 | +3 | 62 | |
| 14 | Bristol City | 46 | 15 | 14 | 17 | 55 | 56 | −1 | 59 | |
| 15 | Hull City | 46 | 14 | 16 | 16 | 51 | 61 | −10 | 58 | |
| 16 | Stoke City | 46 | 14 | 11 | 21 | 55 | 54 | +1 | 53 | |
| 17 | Birmingham City | 46 | 14 | 11 | 21 | 47 | 58 | −11 | 53 | |
| 18 | Huddersfield Town | 46 | 14 | 11 | 21 | 47 | 62 | −15 | 53 | |
| 19 | Rotherham United | 46 | 11 | 17 | 18 | 49 | 60 | −11 | 50 | |
| 20 | Queens Park Rangers | 46 | 13 | 11 | 22 | 44 | 71 | −27 | 50 | |
| 21 | Cardiff City | 46 | 13 | 10 | 23 | 41 | 58 | −17 | 49 | |
| 22 | Reading (R) | 46 | 13 | 11 | 22 | 46 | 68 | −22 | 44 | Relegation to League One |
| 23 | Blackpool (R) | 46 | 11 | 11 | 24 | 48 | 72 | −24 | 44 | Relegation to League One |
| 24 | Wigan Athletic (R) | 46 | 10 | 15 | 21 | 38 | 65 | −27 | 42 | Relegation to League One |
* ↑ Reading were deducted 6 points for breaching an EFL business plan.
* ↑ In March 2023, Wigan Athletic were deducted 3 points for failing to pay players and staff on time.

### Results

| Home \ Away | BIR | BLB | BLP | BRC | BUR | CAR | COV | HUD | HUL | LUT | MID | MIL | NOR | PNE | QPR | REA | ROT | SHU | STO | SUN | SWA | WAT | WBA | WIG |
| Birmingham City | — | 1–0 | 0–1 | 3–0 | 1–1 | 0–2 | 0–0 | 2–1 | 0–1 | 0–1 | 1–3 | 0–0 | 1–2 | 1–2 | 2–0 | 3–2 | 2–0 | 1–2 | 0–0 | 1–2 | 2–2 | 1–1 | 2–0 | 0–1 |
| Blackburn Rovers | 2–1 | — | 1–0 | 2–3 | 0–1 | 1–0 | 1–1 | 1–0 | 0–0 | 1–1 | 1–2 | 2–1 | 0–2 | 1–4 | 1–0 | 2–1 | 3–0 | 1–0 | 0–1 | 2–0 | 1–0 | 2–0 | 2–1 | 0–0 |
| Blackpool | 0–0 | 0–1 | — | 3–3 | 0–0 | 1–3 | 1–4 | 2–2 | 1–3 | 0–1 | 0–3 | 2–3 | 0–1 | 4–2 | 6–1 | 1–0 | 0–0 | 1–2 | 1–0 | 1–1 | 0–1 | 3–1 | 0–2 | 1–0 |
| Bristol City | 4–2 | 1–1 | 2–0 | — | 1–2 | 2–0 | 0–0 | 2–0 | 1–0 | 2–0 | 2–2 | 1–2 | 1–0 | 2–1 | 1–2 | 1–1 | 2–1 | 0–1 | 1–2 | 2–3 | 1–1 | 0–0 | 0–2 | 1–1 |
| Burnley | 3–0 | 3–0 | 3–3 | 2–1 | — | 3–0 | 1–0 | 4–0 | 1–1 | 1–1 | 3–1 | 2–0 | 1–0 | 3–0 | 1–2 | 2–1 | 3–2 | 2–0 | 1–1 | 0–0 | 4–0 | 1–1 | 2–1 | 3–0 |
| Cardiff City | 1–0 | 1–0 | 1–1 | 2–0 | 1–1 | — | 0–1 | 1–2 | 2–3 | 1–2 | 1–3 | 0–1 | 1–0 | 0–0 | 0–0 | 1–0 | 1–0 | 0–1 | 1–1 | 0–1 | 2–3 | 1–2 | 1–1 | 1–1 |
| Coventry City | 2–0 | 1–0 | 1–2 | 1–1 | 0–1 | 0–0 | — | 2–0 | 1–1 | 1–1 | 1–0 | 1–0 | 2–4 | 0–1 | 2–0 | 2–1 | 2–2 | 1–0 | 0–4 | 2–1 | 3–3 | 2–2 | 1–0 | 2–0 |
| Huddersfield Town | 2–1 | 2–2 | 0–1 | 0–0 | 0–1 | 1–0 | 0–4 | — | 2–0 | 1–2 | 4–2 | 1–0 | 1–1 | 0–1 | 1–1 | 2–0 | 2–0 | 1–0 | 3–1 | 0–2 | 0–0 | 0–2 | 2–2 | 1–2 |
| Hull City | 0–2 | 0–1 | 1–1 | 2–1 | 1–3 | 1–0 | 3–2 | 1–1 | — | 0–2 | 1–3 | 1–0 | 2–1 | 0–0 | 3–0 | 1–2 | 0–0 | 0–2 | 0–3 | 1–1 | 1–1 | 1–0 | 2–0 | 2–1 |
| Luton Town | 0–0 | 2–0 | 3–1 | 1–0 | 0–1 | 1–0 | 2–2 | 3–3 | 0–0 | — | 2–1 | 2–2 | 2–1 | 0–1 | 3–1 | 0–0 | 1–1 | 1–1 | 1–0 | 1–1 | 1–0 | 2–0 | 2–3 | 1–2 |
| Middlesbrough | 1–0 | 1–2 | 3–0 | 1–1 | 1–2 | 2–3 | 1–1 | 0–0 | 3–1 | 2–1 | — | 1–0 | 5–1 | 4–0 | 3–1 | 5–0 | 0–0 | 2–2 | 1–1 | 1–0 | 2–1 | 2–0 | 1–1 | 4–1 |
| Millwall | 0–1 | 3–4 | 2–1 | 0–0 | 1–1 | 2–0 | 3–2 | 0–1 | 0–0 | 0–0 | 2–0 | — | 2–3 | 2–0 | 0–2 | 0–1 | 3–0 | 3–2 | 2–0 | 1–1 | 2–1 | 3–0 | 2–1 | 1–1 |
| Norwich City | 3–1 | 0–2 | 0–1 | 3–2 | 0–3 | 2–0 | 3–0 | 2–1 | 3–1 | 0–1 | 1–2 | 2–0 | — | 2–3 | 0–0 | 1–1 | 0–0 | 0–1 | 3–1 | 0–1 | 0–3 | 0–1 | 1–1 | 1–1 |
| Preston North End | 0–1 | 1–1 | 3–1 | 1–2 | 1–1 | 2–0 | 0–0 | 1–2 | 0–0 | 1–1 | 2–1 | 2–4 | 0–4 | — | 0–1 | 2–1 | 0–0 | 0–2 | 0–2 | 0–3 | 1–0 | 0–0 | 1–0 | 2–1 |
| Queens Park Rangers | 0–1 | 1–3 | 0–1 | 0–2 | 0–3 | 3–0 | 0–3 | 1–2 | 3–1 | 0–3 | 3–2 | 1–2 | 1–1 | 0–2 | — | 2–1 | 1–1 | 1–1 | 0–0 | 0–3 | 1–1 | 1–0 | 0–1 | 2–1 |
| Reading | 1–1 | 3–0 | 3–1 | 2–0 | 0–0 | 2–1 | 1–0 | 3–1 | 1–1 | 1–1 | 1–0 | 0–1 | 1–1 | 1–2 | 2–2 | — | 2–1 | 0–1 | 2–1 | 0–3 | 2–1 | 2–2 | 0–2 | 1–1 |
| Rotherham United | 2–0 | 4–0 | 3–0 | 1–3 | 2–2 | 1–2 | 0–2 | 2–1 | 2–4 | 0–2 | 1–0 | 1–1 | 1–2 | 1–2 | 3–1 | 4–0 | — | 0–0 | 2–2 | 2–1 | 1–1 | 1–1 | 3–1 | 0–2 |
| Sheffield United | 1–1 | 3–0 | 3–3 | 1–0 | 5–2 | 4–1 | 3–1 | 1–0 | 1–0 | 0–1 | 1–3 | 2–0 | 2–2 | 4–1 | 0–1 | 4–0 | 0–1 | — | 3–1 | 2–1 | 3–0 | 1–0 | 2–0 | 1–0 |
| Stoke City | 1–2 | 3–2 | 2–0 | 1–2 | 0–1 | 2–2 | 0–2 | 3–0 | 0–0 | 2–0 | 2–2 | 0–1 | 0–0 | 0–1 | 0–1 | 4–0 | 0–1 | 3–1 | — | 0–1 | 1–1 | 0–4 | 1–2 | 0–1 |
| Sunderland | 2–1 | 2–1 | 0–0 | 1–1 | 2–4 | 0–1 | 1–1 | 1–1 | 4–4 | 1–1 | 2–0 | 3–0 | 0–1 | 0–0 | 2–2 | 1–0 | 3–0 | 1–2 | 1–5 | — | 1–3 | 2–2 | 1–2 | 2–1 |
| Swansea City | 3–4 | 0–3 | 2–1 | 2–0 | 1–2 | 2–0 | 0–0 | 1–0 | 3–0 | 0–2 | 1–3 | 2–2 | 0–1 | 4–2 | 1–0 | 3–2 | 1–1 | 0–1 | 1–3 | 2–1 | — | 4–0 | 3–2 | 2–2 |
| Watford | 3–0 | 1–1 | 2–0 | 2–0 | 1–0 | 1–3 | 0–1 | 2–3 | 0–0 | 4–0 | 2–1 | 0–2 | 2–1 | 0–0 | 2–3 | 2–0 | 1–1 | 1–0 | 2–0 | 2–2 | 1–2 | — | 3–2 | 1–1 |
| West Bromwich Albion | 2–3 | 1–1 | 1–0 | 0–2 | 1–1 | 0–0 | 1–0 | 1–0 | 5–2 | 0–0 | 2–0 | 0–0 | 2–1 | 2–0 | 2–2 | 1–0 | 3–0 | 0–2 | 2–0 | 1–2 | 2–3 | 1–1 | — | 1–0 |
| Wigan Athletic | 1–1 | 1–0 | 2–1 | 1–1 | 1–5 | 1–3 | 1–1 | 1–0 | 1–4 | 0–2 | 1–4 | 2–1 | 0–0 | 0–0 | 1–0 | 0–1 | 0–0 | 1–2 | 0–1 | 1–4 | 0–2 | 0–1 | 1–1 | — |

### Play-offs

| Semi-finals | Semi-finals | Semi-finals | Semi-finals | Semi-finals | Final | Final | Final |
| 3 | Luton Town | 1 | 2 | 3 | | | |
| 6 | Sunderland | 2 | 0 | 2 | | | |
| 6 | Sunderland | 2 | 0 | 2 | 3 | Luton Town | 1 (6) |
| | | | | | 5 | Coventry City | 1 (5) |
| 4 | Middlesbrough | 0 | 0 | 0 | 5 | Coventry City | 1 (5) |
| 5 | Coventry City | 0 | 1 | 1 | | | |
First leg
Second leg
Luton Town won 3–2 on aggregate.
Coventry City won 1–0 on aggregate.

### Final
## League One
### Table

| Pos | Teamvte | Pld | W | D | L | GF | GA | GD | Pts | Promotion, qualification or relegation |
| 1 | Plymouth Argyle (C, P) | 46 | 31 | 8 | 7 | 82 | 47 | +35 | 101 | Promotion to EFL Championship |
| 2 | Ipswich Town (P) | 46 | 28 | 14 | 4 | 101 | 35 | +66 | 98 | Promotion to EFL Championship |
| 3 | Sheffield Wednesday (O, P) | 46 | 28 | 12 | 6 | 81 | 37 | +44 | 96 | Qualification for League One play-offs |
| 4 | Barnsley | 46 | 26 | 8 | 12 | 80 | 47 | +33 | 86 | Qualification for League One play-offs |
| 5 | Bolton Wanderers | 46 | 23 | 12 | 11 | 62 | 36 | +26 | 81 | Qualification for League One play-offs |
| 6 | Peterborough United | 46 | 24 | 5 | 17 | 75 | 54 | +21 | 77 | Qualification for League One play-offs |
| 7 | Derby County | 46 | 21 | 13 | 12 | 67 | 46 | +21 | 76 | |
| 8 | Portsmouth | 46 | 17 | 19 | 10 | 61 | 50 | +11 | 70 | |
| 9 | Wycombe Wanderers | 46 | 20 | 9 | 17 | 59 | 51 | +8 | 69 | |
| 10 | Charlton Athletic | 46 | 16 | 14 | 16 | 70 | 66 | +4 | 62 | |
| 11 | Lincoln City | 46 | 14 | 20 | 12 | 47 | 47 | 0 | 62 | |
| 12 | Shrewsbury Town | 46 | 17 | 8 | 21 | 52 | 61 | −9 | 59 | |
| 13 | Fleetwood Town | 46 | 14 | 16 | 16 | 53 | 51 | +2 | 58 | |
| 14 | Exeter City | 46 | 15 | 11 | 20 | 64 | 68 | −4 | 56 | |
| 15 | Burton Albion | 46 | 15 | 11 | 20 | 57 | 79 | −22 | 56 | |
| 16 | Cheltenham Town | 46 | 14 | 12 | 20 | 45 | 61 | −16 | 54 | |
| 17 | Bristol Rovers | 46 | 14 | 11 | 21 | 58 | 73 | −15 | 53 | |
| 18 | Port Vale | 46 | 13 | 10 | 23 | 48 | 71 | −23 | 49 | |
| 19 | Oxford United | 46 | 11 | 14 | 21 | 49 | 56 | −7 | 47 | |
| 20 | Cambridge United | 46 | 13 | 7 | 26 | 41 | 68 | −27 | 46 | |
| 21 | Milton Keynes Dons (R) | 46 | 11 | 12 | 23 | 44 | 66 | −22 | 45 | Relegation to EFL League Two |
| 22 | Morecambe (R) | 46 | 10 | 14 | 22 | 47 | 78 | −31 | 44 | Relegation to EFL League Two |
| 23 | Accrington Stanley (R) | 46 | 11 | 11 | 24 | 40 | 77 | −37 | 44 | Relegation to EFL League Two |
| 24 | Forest Green Rovers (R) | 46 | 6 | 9 | 31 | 31 | 89 | −58 | 27 | Relegation to EFL League Two |

### Results

| Home \ Away | ACC | BAR | BOL | BRI | BRT | CAM | CHA | CHE | DER | EXE | FLE | FOR | IPS | LIN | MKD | MOR | OXF | PET | PLY | POR | PVL | SHE | SHR | WYC |
| Accrington Stanley | — | 1–1 | 2–3 | 2–0 | 4–4 | 1–2 | 2–2 | 1–0 | 0–3 | 0–0 | 2–5 | 2–1 | 0–2 | 0–3 | 0–1 | 3–1 | 1–1 | 1–2 | 0–2 | 1–3 | 3–0 | 0–1 | 1–0 | 0–2 |
| Barnsley | 3–1 | — | 0–3 | 3–0 | 2–0 | 2–0 | 3–1 | 1–0 | 4–1 | 0–2 | 2–1 | 2–0 | 0–3 | 0–1 | 3–1 | 5–0 | 2–0 | 0–2 | 3–0 | 3–1 | 1–1 | 4–2 | 2–1 | 0–3 |
| Bolton Wanderers | 0–1 | 0–0 | — | 1–1 | 2–1 | 1–1 | 3–1 | 1–0 | 0–0 | 2–0 | 2–0 | 1–0 | 0–2 | 2–0 | 5–0 | 1–0 | 1–3 | 1–0 | 0–0 | 3–0 | 2–1 | 0–2 | 1–0 | 3–0 |
| Bristol Rovers | 0–1 | 0–0 | 2–3 | — | 1–2 | 2–1 | 1–0 | 2–1 | 1–1 | 3–4 | 2–2 | 1–2 | 0–0 | 3–6 | 0–2 | 2–2 | 1–0 | 1–0 | 2–2 | 0–2 | 1–0 | 1–2 | 1–1 | 0–2 |
| Burton Albion | 0–0 | 2–1 | 1–1 | 0–4 | — | 1–0 | 3–3 | 1–0 | 1–1 | 1–0 | 0–1 | 3–2 | 0–1 | 3–0 | 0–0 | 1–1 | 2–0 | 2–5 | 2–2 | 0–2 | 0–2 | 3–2 | 0–4 | 2–1 |
| Cambridge United | 0–1 | 0–3 | 0–0 | 1–2 | 4–3 | — | 1–2 | 1–2 | 0–2 | 2–1 | 2–1 | 2–0 | 1–1 | 2–0 | 1–0 | 1–1 | 1–0 | 2–0 | 0–0 | 0–1 | 0–1 | 0–2 | 2–1 | 1–2 |
| Charlton Athletic | 1–1 | 2–0 | 1–2 | 1–2 | 3–2 | 1–1 | — | 0–1 | 1–0 | 4–2 | 1–2 | 1–1 | 4–4 | 2–1 | 0–2 | 2–3 | 1–1 | 1–1 | 5–1 | 3–0 | 3–2 | 0–1 | 6–0 | 1–1 |
| Cheltenham Town | 0–0 | 0–4 | 1–0 | 1–4 | 0–0 | 2–1 | 2–2 | — | 2–3 | 3–1 | 1–0 | 3–1 | 1–1 | 0–0 | 0–0 | 1–0 | 1–2 | 2–3 | 0–1 | 0–2 | 0–0 | 2–2 | 2–0 | 1–0 |
| Derby County | 4–0 | 2–1 | 2–1 | 4–2 | 1–0 | 1–0 | 2–0 | 2–0 | — | 0–0 | 0–2 | 4–0 | 0–2 | 1–1 | 1–1 | 5–0 | 1–0 | 2–1 | 2–3 | 1–1 | 1–2 | 0–0 | 2–2 | 2–1 |
| Exeter City | 5–0 | 3–1 | 0–1 | 2–2 | 0–2 | 2–0 | 1–2 | 0–1 | 1–2 | — | 2–1 | 1–1 | 0–2 | 2–1 | 1–0 | 3–2 | 2–4 | 3–2 | 0–1 | 0–0 | 4–0 | 1–1 | 0–0 | 3–1 |
| Fleetwood Town | 3–0 | 0–1 | 1–2 | 1–2 | 2–3 | 1–0 | 1–1 | 0–0 | 0–0 | 2–2 | — | 1–1 | 2–2 | 2–1 | 1–0 | 1–0 | 1–2 | 1–0 | 2–1 | 0–2 | 1–1 | 1–2 | 0–1 | 1–1 |
| Forest Green Rovers | 2–1 | 1–5 | 1–0 | 1–3 | 1–2 | 2–1 | 0–1 | 1–0 | 0–2 | 0–4 | 0–0 | — | 1–2 | 1–1 | 1–2 | 1–2 | 0–3 | 0–2 | 0–3 | 0–1 | 1–3 | 1–0 | 0–2 | 0–2 |
| Ipswich Town | 3–0 | 2–2 | 1–1 | 2–0 | 4–0 | 3–0 | 6–0 | 1–1 | 1–0 | 6–0 | 1–1 | 4–0 | — | 0–1 | 3–0 | 4–0 | 3–0 | 2–1 | 1–1 | 3–2 | 2–1 | 2–2 | 2–0 | 4–0 |
| Lincoln City | 1–1 | 0–0 | 1–1 | 1–0 | 0–1 | 0–0 | 0–0 | 2–0 | 2–0 | 1–1 | 2–2 | 1–1 | 1–1 | — | 1–1 | 2–1 | 1–0 | 0–3 | 1–1 | 0–0 | 3–2 | 1–1 | 1–0 | 0–0 |
| Milton Keynes Dons | 1–1 | 4–4 | 0–2 | 0–1 | 1–1 | 1–0 | 0–1 | 2–2 | 1–3 | 0–2 | 1–2 | 1–0 | 0–1 | 0–0 | — | 1–0 | 1–1 | 2–3 | 1–4 | 1–1 | 2–1 | 0–1 | 0–1 | 0–1 |
| Morecambe | 2–0 | 1–0 | 0–0 | 5–1 | 5–0 | 1–2 | 1–4 | 2–1 | 1–1 | 1–1 | 1–1 | 1–1 | 1–2 | 3–2 | 0–4 | — | 1–1 | 0–3 | 1–3 | 1–1 | 1–0 | 0–3 | 0–0 | 1–0 |
| Oxford United | 1–2 | 1–2 | 0–1 | 0–3 | 2–1 | 1–0 | 3–1 | 4–0 | 2–3 | 0–1 | 1–1 | 1–1 | 2–1 | 1–2 | 1–2 | 1–1 | — | 1–2 | 1–3 | 1–1 | 4–0 | 1–1 | 0–1 | 0–1 |
| Peterborough United | 3–1 | 1–2 | 0–5 | 0–0 | 1–1 | 1–0 | 0–0 | 0–3 | 2–0 | 3–1 | 0–1 | 4–1 | 0–3 | 4–0 | 2–0 | 3–0 | 0–0 | — | 5–2 | 2–1 | 3–0 | 2–0 | 2–1 | 0–3 |
| Plymouth Argyle | 3–0 | 1–0 | 2–0 | 2–0 | 1–0 | 3–1 | 2–0 | 4–2 | 2–1 | 4–2 | 0–0 | 2–0 | 2–1 | 0–2 | 3–1 | 2–1 | 1–0 | 2–0 | — | 3–1 | 0–2 | 2–1 | 2–1 | 1–0 |
| Portsmouth | 1–0 | 1–1 | 3–1 | 3–1 | 1–0 | 4–1 | 1–3 | 4–0 | 0–0 | 2–0 | 1–1 | 1–0 | 2–2 | 0–0 | 0–2 | 0–0 | 1–1 | 2–1 | 2–2 | — | 2–2 | 0–1 | 1–1 | 2–2 |
| Port Vale | 1–1 | 1–3 | 0–0 | 2–0 | 2–3 | 0–2 | 1–0 | 2–2 | 1–2 | 1–0 | 2–1 | 2–2 | 2–3 | 1–0 | 1–0 | 1–0 | 0–0 | 0–2 | 1–3 | 0–1 | — | 0–1 | 2–1 | 0–3 |
| Sheffield Wednesday | 3–0 | 0–2 | 1–1 | 1–1 | 4–2 | 5–0 | 1–0 | 3–0 | 1–0 | 2–1 | 1–0 | 5–0 | 2–2 | 1–1 | 5–2 | 3–0 | 0–0 | 1–0 | 1–0 | 3–3 | 2–0 | — | 1–0 | 3–1 |
| Shrewsbury Town | 0–1 | 0–1 | 3–2 | 2–1 | 2–1 | 5–1 | 0–1 | 0–1 | 0–0 | 3–2 | 0–3 | 2–1 | 0–3 | 2–0 | 2–1 | 3–1 | 1–1 | 0–3 | 1–2 | 1–1 | 3–2 | 0–3 | — | 2–0 |
| Wycombe Wanderers | 1–0 | 0–1 | 1–0 | 2–1 | 3–0 | 2–3 | 1–1 | 0–3 | 3–2 | 1–1 | 2–0 | 2–0 | 1–0 | 0–2 | 2–2 | 1–1 | 2–0 | 3–1 | 0–1 | 2–0 | 2–2 | 0–1 | 1–2 | — |

### Play-offs

| Semi-finals | Semi-finals | Semi-finals | Semi-finals | Semi-finals | Final | Final | Final |
| 6 | Peterborough United | 4 | 1 | 5 (3) | | | |
| 3 | Sheffield Wednesday (p) | 0 | 5 | 5 (5) | | | |
| 3 | Sheffield Wednesday (p) | 0 | 5 | 5 (5) | 4 | Barnsley | 0 |
| | | | | | 3 | Sheffield Wednesday | 1 |
| 5 | Bolton Wanderers | 1 | 0 | 1 | 3 | Sheffield Wednesday | 1 |
| 4 | Barnsley | 1 | 1 | 2 | | | |
First leg
Second leg
5–5 on aggregate. Sheffield Wednesday won 5–3 on penalties. Main article: Miracle of Hillsborough
Barnsley won 2–1 on aggregate.

### Final
## League Two
### Table

| Pos | Teamvte | Pld | W | D | L | GF | GA | GD | Pts | Promotion, qualification or relegation |
| 1 | Leyton Orient (C, P) | 46 | 26 | 13 | 7 | 61 | 34 | +27 | 91 | Promotion to EFL League One |
| 2 | Stevenage (P) | 46 | 24 | 13 | 9 | 61 | 39 | +22 | 85 | Promotion to EFL League One |
| 3 | Northampton Town (P) | 46 | 23 | 14 | 9 | 62 | 42 | +20 | 83 | Promotion to EFL League One |
| 4 | Stockport County | 46 | 22 | 13 | 11 | 65 | 37 | +28 | 79 | Qualification for League Two play-offs |
| 5 | Carlisle United (O, P) | 46 | 20 | 16 | 10 | 66 | 43 | +23 | 76 | Qualification for League Two play-offs |
| 6 | Bradford City | 46 | 20 | 16 | 10 | 61 | 43 | +18 | 76 | Qualification for League Two play-offs |
| 7 | Salford City | 46 | 22 | 9 | 15 | 72 | 54 | +18 | 75 | Qualification for League Two play-offs |
| 8 | Mansfield Town | 46 | 21 | 12 | 13 | 72 | 55 | +17 | 75 | |
| 9 | Barrow | 46 | 18 | 8 | 20 | 47 | 53 | −6 | 62 | |
| 10 | Swindon Town | 46 | 16 | 13 | 17 | 61 | 55 | +6 | 61 | |
| 11 | Grimsby Town | 46 | 16 | 13 | 17 | 49 | 56 | −7 | 61 | |
| 12 | Tranmere Rovers | 46 | 15 | 13 | 18 | 45 | 48 | −3 | 58 | |
| 13 | Crewe Alexandra | 46 | 14 | 16 | 16 | 48 | 60 | −12 | 58 | |
| 14 | Sutton United | 46 | 15 | 13 | 18 | 46 | 58 | −12 | 58 | |
| 15 | Newport County | 46 | 14 | 15 | 17 | 53 | 56 | −3 | 57 | |
| 16 | Walsall | 46 | 12 | 19 | 15 | 46 | 49 | −3 | 55 | |
| 17 | Gillingham | 46 | 14 | 13 | 19 | 36 | 49 | −13 | 55 | |
| 18 | Doncaster Rovers | 46 | 16 | 7 | 23 | 46 | 65 | −19 | 55 | |
| 19 | Harrogate Town | 46 | 12 | 16 | 18 | 59 | 68 | −9 | 52 | |
| 20 | Colchester United | 46 | 12 | 13 | 21 | 44 | 51 | −7 | 49 | |
| 21 | AFC Wimbledon | 46 | 11 | 15 | 20 | 48 | 60 | −12 | 48 | |
| 22 | Crawley Town | 46 | 11 | 13 | 22 | 48 | 71 | −23 | 46 | |
| 23 | Hartlepool United (R) | 46 | 9 | 16 | 21 | 52 | 78 | −26 | 43 | Relegation to National League |
| 24 | Rochdale (R) | 46 | 9 | 11 | 26 | 46 | 70 | −24 | 38 | Relegation to National League |

### Results

| Home \ Away | WIM | BAR | BRA | CAR | COL | CRA | CRE | DON | GIL | GRI | HAR | HTL | LEY | MAN | NEW | NOR | ROC | SAL | STE | STO | SUT | SWI | TRA | WAL |
| AFC Wimbledon | — | 0–1 | 0–0 | 0–0 | 2–1 | 0–1 | 1–1 | 2–2 | 2–0 | 1–0 | 3–2 | 2–2 | 2–0 | 1–3 | 1–1 | 0–2 | 0–1 | 2–3 | 2–3 | 1–0 | 0–1 | 1–5 | 1–1 | 2–0 |
| Barrow | 2–1 | — | 3–2 | 0–1 | 3–1 | 4–0 | 3–0 | 2–0 | 2–1 | 1–0 | 1–0 | 3–1 | 0–2 | 0–1 | 0–1 | 0–2 | 0–0 | 1–1 | 0–1 | 1–0 | 0–0 | 0–1 | 1–2 | 2–1 |
| Bradford City | 2–2 | 0–1 | — | 0–0 | 2–0 | 1–1 | 0–0 | 0–0 | 2–2 | 3–2 | 1–0 | 2–2 | 1–1 | 1–1 | 2–0 | 1–3 | 1–2 | 3–2 | 3–0 | 0–1 | 3–1 | 1–1 | 2–0 | 2–1 |
| Carlisle United | 2–1 | 5–1 | 1–0 | — | 1–0 | 1–0 | 0–0 | 3–0 | 1–0 | 2–0 | 0–1 | 3–1 | 2–3 | 0–4 | 2–1 | 0–0 | 3–3 | 2–3 | 0–0 | 2–2 | 1–1 | 1–1 | 2–0 | 0–0 |
| Colchester United | 1–2 | 1–1 | 1–0 | 1–1 | — | 2–2 | 4–0 | 3–0 | 0–2 | 0–1 | 2–1 | 1–1 | 1–3 | 0–2 | 0–0 | 0–1 | 0–1 | 1–1 | 1–1 | 0–1 | 4–1 | 1–0 | 1–1 | 0–0 |
| Crawley Town | 0–2 | 1–0 | 0–0 | 2–5 | 0–0 | — | 2–2 | 1–1 | 0–0 | 1–1 | 3–1 | 0–2 | 0–1 | 3–2 | 2–1 | 2–3 | 2–0 | 3–2 | 1–2 | 3–2 | 1–2 | 2–0 | 2–1 | 0–0 |
| Crewe Alexandra | 0–0 | 3–0 | 3–2 | 0–3 | 1–0 | 1–0 | — | 1–1 | 1–1 | 0–3 | 3–0 | 2–0 | 0–2 | 1–2 | 1–2 | 2–2 | 1–1 | 4–3 | 1–2 | 1–1 | 1–0 | 2–1 | 1–0 | 2–0 |
| Doncaster Rovers | 2–1 | 1–0 | 0–1 | 2–1 | 1–0 | 4–1 | 0–2 | — | 1–0 | 1–2 | 0–2 | 0–1 | 1–1 | 1–3 | 1–3 | 0–2 | 4–3 | 2–1 | 0–1 | 2–1 | 2–1 | 0–1 | 2–0 | 0–2 |
| Gillingham | 2–1 | 1–1 | 0–2 | 1–0 | 0–1 | 1–0 | 2–1 | 1–0 | — | 2–1 | 0–2 | 2–0 | 2–0 | 0–2 | 1–2 | 0–2 | 1–0 | 0–3 | 1–1 | 1–1 | 1–0 | 0–0 | 2–0 | 0–0 |
| Grimsby Town | 1–0 | 1–0 | 0–0 | 1–2 | 0–1 | 3–0 | 2–0 | 1–3 | 1–1 | — | 0–0 | 1–4 | 2–2 | 1–1 | 1–1 | 1–1 | 1–0 | 1–4 | 1–1 | 1–0 | 0–0 | 1–2 | 2–1 | 1–1 |
| Harrogate Town | 2–2 | 1–0 | 1–2 | 3–3 | 1–3 | 0–0 | 2–2 | 2–2 | 0–0 | 3–2 | — | 2–1 | 0–2 | 3–0 | 0–4 | 1–1 | 1–1 | 0–1 | 1–1 | 1–3 | 0–1 | 3–0 | 1–1 | 3–0 |
| Hartlepool United | 0–0 | 3–1 | 1–3 | 1–3 | 1–2 | 0–2 | 1–1 | 2–1 | 0–0 | 2–1 | 3–3 | — | 1–1 | 1–2 | 0–1 | 1–1 | 2–0 | 0–2 | 1–1 | 0–5 | 2–2 | 2–1 | 0–0 | 3–3 |
| Leyton Orient | 1–0 | 0–0 | 3–0 | 1–0 | 2–2 | 1–0 | 2–0 | 1–0 | 2–0 | 2–0 | 2–2 | 4–2 | — | 1–0 | 1–2 | 0–0 | 2–1 | 1–0 | 0–0 | 0–3 | 2–0 | 1–1 | 2–0 | 1–0 |
| Mansfield Town | 5–2 | 2–3 | 1–2 | 0–0 | 2–1 | 4–1 | 1–1 | 4–1 | 2–0 | 0–0 | 1–2 | 2–2 | 1–2 | — | 0–0 | 1–1 | 1–1 | 2–5 | 1–0 | 2–1 | 0–0 | 2–5 | 1–0 | 2–1 |
| Newport County | 1–1 | 0–2 | 1–1 | 1–1 | 1–0 | 2–2 | 2–2 | 0–1 | 2–0 | 0–2 | 2–3 | 2–0 | 0–0 | 1–2 | — | 3–0 | 0–1 | 2–3 | 2–2 | 1–2 | 0–2 | 2–1 | 2–1 | 0–1 |
| Northampton Town | 0–0 | 3–1 | 1–2 | 2–1 | 3–2 | 1–0 | 1–0 | 0–1 | 2–1 | 1–2 | 3–1 | 2–1 | 1–0 | 1–0 | 1–1 | — | 3–0 | 0–1 | 1–1 | 2–1 | 2–2 | 1–2 | 0–0 | 0–0 |
| Rochdale | 1–2 | 2–1 | 0–3 | 0–1 | 1–2 | 1–1 | 1–2 | 1–2 | 0–2 | 0–1 | 1–2 | 1–2 | 0–1 | 0–1 | 1–1 | 1–1 | — | 1–0 | 2–0 | 1–2 | 4–1 | 4–4 | 2–2 | 4–2 |
| Salford City | 0–0 | 1–1 | 0–1 | 1–4 | 0–1 | 2–2 | 3–0 | 3–1 | 0–1 | 1–1 | 1–1 | 2–0 | 0–2 | 2–0 | 3–1 | 2–1 | 2–1 | — | 1–0 | 0–2 | 2–0 | 1–2 | 0–1 | 1–0 |
| Stevenage | 2–1 | 5–0 | 2–3 | 2–1 | 1–1 | 3–1 | 1–0 | 1–0 | 1–0 | 2–0 | 1–0 | 1–0 | 3–0 | 0–0 | 1–0 | 2–3 | 1–0 | 1–3 | — | 2–1 | 3–0 | 2–0 | 0–1 | 3–1 |
| Stockport County | 1–0 | 2–3 | 0–0 | 2–0 | 1–0 | 2–1 | 2–0 | 0–0 | 0–0 | 1–3 | 0–0 | 1–1 | 1–2 | 1–1 | 4–0 | 2–0 | 1–0 | 1–1 | 2–0 | — | 3–0 | 1–1 | 3–2 | 1–1 |
| Sutton United | 2–1 | 1–0 | 0–2 | 1–1 | 1–0 | 3–0 | 1–1 | 2–0 | 2–1 | 0–1 | 2–1 | 2–0 | 0–2 | 2–1 | 1–1 | 1–2 | 1–0 | 1–2 | 0–0 | 0–1 | — | 2–1 | 0–2 | 1–1 |
| Swindon Town | 0–0 | 0–0 | 1–0 | 1–2 | 1–0 | 2–1 | 0–1 | 0–2 | 3–3 | 5–0 | 3–0 | 2–1 | 1–1 | 2–4 | 1–0 | 1–2 | 3–0 | 0–0 | 0–1 | 0–1 | 3–2 | — | 1–1 | 1–2 |
| Tranmere Rovers | 0–2 | 1–0 | 1–2 | 0–2 | 2–0 | 1–0 | 3–0 | 3–0 | 3–0 | 2–0 | 1–1 | 1–1 | 1–0 | 0–2 | 1–3 | 0–1 | 1–1 | 1–0 | 1–2 | 0–0 | 2–2 | 1–0 | — | 1–1 |
| Walsall | 3–1 | 0–1 | 0–0 | 0–0 | 1–1 | 2–1 | 0–0 | 2–1 | 2–0 | 1–2 | 3–1 | 4–0 | 1–1 | 2–1 | 1–1 | 1–0 | 1–0 | 2–3 | 1–1 | 0–2 | 1–1 | 0–0 | 0–1 | — |

### Play-offs

| Semi-finals | Semi-finals | Semi-finals | Semi-finals | Semi-finals | Final | Final | Final |
| 7 | Salford City | 1 | 1 | 2 (1) | | | |
| 4 | Stockport County (p) | 0 | 2 | 2 (3) | | | |
| 4 | Stockport County (p) | 0 | 2 | 2 (3) | 4 | Stockport County | 1 (4) |
| | | | | | 5 | Carlisle United (p) | 1 (5) |
| 6 | Bradford City | 1 | 1 | 2 | 5 | Carlisle United (p) | 1 (5) |
| 5 | Carlisle United | 0 | 3 | 3 | | | |

### Semi-Finals

First leg
Second leg
2–2 on Aggregate. Stockport County wins 3–1 on penalties
Carlisle United won 3–2 on Aggregate.

### Final
## Managerial changes

| Team | Outgoing manager | Manner of departure | Date of vacancy | Position in table | Incoming manager | Date of appointment | Position in table |
| Colchester United | Hayden Mullins | Sacked | 19 January 2022 | 2021–22 English Football League | Wayne Brown | 17 May 2022 | Pre-season |
| Reading | Veljko Paunović | Mutual consent | 19 February 2022 | 2021–22 English Football League | Paul Ince | 16 May 2022 | Pre-season |
| Burnley | Sean Dyche | Sacked | 15 April 2022 | 2021–22 Premier League | Vincent Kompany | 14 June 2022 | Pre-season |
| Barnsley | Poya Asbaghi | Mutual consent | 24 April 2022 | 2021–22 English Football League | Michael Duff | 13 June 2022 | Pre-season |
| Lincoln City | Michael Appleton | Mutual consent | 30 April 2022 | Pre-season | Mark Kennedy | 12 May 2022 | Pre-season |
| Charlton Athletic | Johnnie Jackson | End of contract | 3 May 2022 | Pre-season | Ben Garner | 8 June 2022 | Pre-season |
| Hartlepool United | Graeme Lee | Sacked | 5 May 2022 | Pre-season | Paul Hartley | 3 June 2022 | Pre-season |
| Crawley Town | John Yems | Sacked | 6 May 2022 | Pre-season | Kevin Betsy | 6 June 2022 | Pre-season |
| Queens Park Rangers | Mark Warburton | End of contract | 7 May 2022 | Pre-season | Michael Beale | 1 June 2022 | Pre-season |
| AFC Wimbledon | Mark Bowen | Appointed Reading Head of Football | 8 May 2022 | Pre-season | Johnnie Jackson | 16 May 2022 | Pre-season |
| Blackburn Rovers | Tony Mowbray | End of contract | 11 May 2022 | Pre-season | Jon Dahl Tomasson | 14 June 2022 | Pre-season |
| Forest Green Rovers | Rob Edwards | Appointed Watford Manager | 11 May 2022 | Pre-season | Ian Burchnall | 27 May 2022 | Pre-season |
| Fleetwood Town | Stephen Crainey | Re-appointed as U23 Manager | 12 May 2022 | Pre-season | Scott Brown | 12 May 2022 | Pre-season |
| Barrow | Phil Brown | End of contract | 12 May 2022 | Pre-season | Pete Wild | 27 May 2022 | Pre-season |
| Salford City | Gary Bowyer | Sacked | 17 May 2022 | Pre-season | Neil Wood | 20 May 2022 | Pre-season |
| Watford | Roy Hodgson | End of contract | 23 May 2022 | Pre-season | Rob Edwards | 23 May 2022 | Pre-season |
| Blackpool | Neil Critchley | Appointed Aston Villa Assistant Manager | 2 June 2022 | Pre-season | Michael Appleton | 17 June 2022 | Pre-season |
| Swindon Town | Ben Garner | Appointed Charlton Athletic Manager | 8 June 2022 | Pre-season | Scott Lindsey | 20 June 2022 | Pre-season |
| Cheltenham Town | Michael Duff | Appointed Barnsley Manager | 13 June 2022 | Pre-season | Wade Elliott | 27 June 2022 | Pre-season |
| Derby County | Wayne Rooney | Resigned | 24 June 2022 | Pre-season | Paul Warne | 22 September 2022 | 7th |
| Birmingham City | Lee Bowyer | Sacked | 2 July 2022 | Pre-season | John Eustace | 3 July 2022 | Pre-season |
| Huddersfield Town | Carlos Corberán | Resigned | 7 July 2022 | Pre-season | Danny Schofield | 7 July 2022 | Pre-season |
| Rochdale | Robbie Stockdale | Sacked | 18 August 2022 | 24th | Jim Bentley | 29 August 2022 | 24th |
| Stoke City | Michael O'Neill | Sacked | 25 August 2022 | 21st | Alex Neil | 28 August 2022 | 17th |
| Sunderland | Alex Neil | Appointed Stoke City Manager | 28 August 2022 | 12th | Tony Mowbray | 30 August 2022 | 12th |
| Burton Albion | Jimmy Floyd Hasselbaink | Resigned | 5 September 2022 | 24th | Dino Maamria | 6 September 2022 | 24th |
| Huddersfield Town | Danny Schofield | Sacked | 14 September 2022 | 23rd | Mark Fotheringham | 28 September 2022 | 23rd |
| Hartlepool United | Paul Hartley | Sacked | 18 September 2022 | 23rd | Keith Curle | 8 December 2022 | 22nd |
| Colchester United | Wayne Brown | Sacked | 18 September 2022 | 21st | Matt Bloomfield | 30 September 2022 | 21st |
| Cardiff City | Steve Morison | Sacked | 18 September 2022 | 18th | Mark Hudson | 14 November 2022 | 19th |
| Rotherham United | Paul Warne | Appointed Derby County Manager | 22 September 2022 | 8th | Matt Taylor | 4 October 2022 | 12th |
| Watford | Rob Edwards | Sacked | 26 September 2022 | 10th | Slaven Bilić | 26 September 2022 | 10th |
| Hull City | Shota Arveladze | Sacked | 30 September 2022 | 20th | Liam Rosenior | 3 November 2022 | 21st |
| Middlesbrough | Chris Wilder | Sacked | 3 October 2022 | 22nd | Michael Carrick | 24 October 2022 | 21st |
| Exeter City | Matt Taylor | Appointed Rotherham United Manager | 4 October 2022 | 11th | Gary Caldwell | 24 October 2022 | 7th |
| Crawley Town | Kevin Betsy | Sacked | 9 October 2022 | 24th | Matthew Etherington | 27 November 2022 | 19th |
| West Bromwich Albion | Steve Bruce | Sacked | 10 October 2022 | 22nd | Carlos Corberán | 25 October 2022 | 23rd |
| Newport County | James Rowberry | Sacked | 10 October 2022 | 18th | Graham Coughlan | 20 October 2022 | 19th |
| Doncaster Rovers | Gary McSheffrey | Sacked | 17 October 2022 | 12th | Danny Schofield | 20 October 2022 | 12th |
| Crewe Alexandra | Alex Morris | Appointed Assistant Manager | 4 November 2022 | 16th | Lee Bell | 1 December 2022 | 15th |
| Luton Town | Nathan Jones | Appointed Southampton Manager | 10 November 2022 | 9th | Rob Edwards | 17 November 2022 | 10th |
| Wigan Athletic | Leam Richardson | Sacked | 10 November 2022 | 23rd | Kolo Touré | 29 November 2022 | 22nd |
| Queens Park Rangers | Michael Beale | Appointed Rangers Manager | 28 November 2022 | 7th | Neil Critchley | 11 December 2022 | 9th |
| Charlton Athletic | Ben Garner | Sacked | 6 December 2022 | 17th | Dean Holden | 20 December 2022 | 18th |
| Milton Keynes Dons | Liam Manning | Sacked | 11 December 2022 | 23rd | Mark Jackson | 23 December 2022 | 22nd |
| Norwich City | Dean Smith | Sacked | 27 December 2022 | 5th | David Wagner | 6 January 2023 | 11th |
| Crawley Town | Matthew Etherington | Mutual consent | 29 December 2022 | 20th | Scott Lindsey | 11 January 2023 | 21st |
| Portsmouth | Danny Cowley | Sacked | 2 January 2023 | 12th | John Mousinho | 20 January 2023 | 15th |
| Peterborough United | Grant McCann | Sacked | 4 January 2023 | 8th | Darren Ferguson | 4 January 2023 | 8th |
| Swindon Town | Scott Lindsey | Appointed Crawley Town Manager | 11 January 2023 | 8th | Jody Morris | 31 January 2023 | 6th |
| Cardiff City | Mark Hudson | Sacked | 14 January 2023 | 21st | Sabri Lamouchi | 27 January 2023 | 21st |
| Blackpool | Michael Appleton | Sacked | 18 January 2023 | 23rd | Mick McCarthy | 19 January 2023 | 23rd |
| Forest Green Rovers | Ian Burchnall | Sacked | 25 January 2023 | 24th | Duncan Ferguson | 26 January 2023 | 24th |
| Wigan Athletic | Kolo Touré | Sacked | 26 January 2023 | 24th | Shaun Maloney | 28 January 2023 | 24th |
| Huddersfield Town | Mark Fotheringham | Sacked | 8 February 2023 | 22nd | Neil Warnock | 13 February 2023 | 23rd |
| Queens Park Rangers | Neil Critchley | Sacked | 19 February 2023 | 17th | Gareth Ainsworth | 21 February 2023 | 17th |
| Wycombe Wanderers | Gareth Ainsworth | Appointed Queens Park Rangers Manager | 21 February 2023 | 7th | Matt Bloomfield | 21 February 2023 | 7th |
| Colchester United | Matt Bloomfield | Appointed Wycombe Wanderers Manager | 21 February 2023 | 18th | Ben Garner | 2 March 2023 | 19th |
| Hartlepool United | Keith Curle | Sacked | 22 February 2023 | 22nd | John Askey | 23 February 2023 | 22nd |
| Oxford United | Karl Robinson | Sacked | 26 February 2023 | 17th | Liam Manning | 11 March 2023 | 18th |
| Watford | Slaven Bilić | Sacked | 7 March 2023 | 9th | Chris Wilder | 7 March 2023 | 9th |
| Tranmere Rovers | Micky Mellon | Sacked | 19 March 2023 | 14th | Ian Dawes | 4 May 2023 | 14th |
| Rochdale | Jim Bentley | Sacked | 27 March 2023 | 24th | Jimmy McNulty | 12 May 2023 | 24th |
| Blackpool | Mick McCarthy | Mutual consent | 8 April 2023 | 23rd | Neil Critchley | 23 May 2023 | 23rd |
| Reading | Paul Ince | Sacked | 11 April 2023 | 22nd | Rubén Sellés | 26 June 2023 | 22nd |
| Port Vale | Darrell Clarke | Sacked | 17 April 2023 | 18th | Andy Crosby | 12 May 2023 | 18th |
| Walsall | Michael Flynn | Sacked | 19 April 2023 | 15th | Mat Sadler | 18 May 2023 | 15th |
| Swindon Town | Jody Morris | Sacked | 1 May 2023 | 10th | Michael Flynn | 8 May 2023 | 10th |