# 2020–21 English Football League

The 2020–21 season is the 122nd season of the English Football League (EFL) and the fifth season under that name after it was renamed from The Football League in 2016. For the eighth season running, the league was sponsored by Sky Betting & Gaming and 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 were automatically promoted to the Premier League and they were joined by the winner of the Championship playoff. The bottom two teams in League Two were relegated to the National League.
This season marked the extension by another two years of the league's partnership with official charity Mind. The mental health charity had its logo displayed on the shirts of all EFL clubs and worked with the EFL to promote mental health within football and the wider community.

## Championship
### Table

| Pos | Teamvte | Pld | W | D | L | GF | GA | GD | Pts | Promotion, qualification or relegation |
| 1 | Norwich City (C, P) | 46 | 29 | 10 | 7 | 75 | 36 | +39 | 97 | Promotion to the Premier League |
| 2 | Watford (P) | 46 | 27 | 10 | 9 | 63 | 30 | +33 | 91 | Promotion to the Premier League |
| 3 | Brentford (O, P) | 46 | 24 | 15 | 7 | 79 | 42 | +37 | 87 | Qualification for Championship play-offs |
| 4 | Swansea City | 46 | 23 | 11 | 12 | 56 | 39 | +17 | 80 | Qualification for Championship play-offs |
| 5 | Barnsley | 46 | 23 | 9 | 14 | 58 | 50 | +8 | 78 | Qualification for Championship play-offs |
| 6 | Bournemouth | 46 | 22 | 11 | 13 | 73 | 46 | +27 | 77 | Qualification for Championship play-offs |
| 7 | Reading | 46 | 19 | 13 | 14 | 62 | 54 | +8 | 70 | |
| 8 | Cardiff City | 46 | 18 | 14 | 14 | 66 | 49 | +17 | 68 | |
| 9 | Queens Park Rangers | 46 | 19 | 11 | 16 | 57 | 55 | +2 | 68 | |
| 10 | Middlesbrough | 46 | 18 | 10 | 18 | 55 | 53 | +2 | 64 | |
| 11 | Millwall | 46 | 15 | 17 | 14 | 47 | 52 | −5 | 62 | |
| 12 | Luton Town | 46 | 17 | 11 | 18 | 41 | 52 | −11 | 62 | |
| 13 | Preston North End | 46 | 18 | 7 | 21 | 49 | 56 | −7 | 61 | |
| 14 | Stoke City | 46 | 15 | 15 | 16 | 50 | 52 | −2 | 60 | |
| 15 | Blackburn Rovers | 46 | 15 | 12 | 19 | 65 | 54 | +11 | 57 | |
| 16 | Coventry City | 46 | 14 | 13 | 19 | 49 | 61 | −12 | 55 | |
| 17 | Nottingham Forest | 46 | 12 | 16 | 18 | 37 | 45 | −8 | 52 | |
| 18 | Birmingham City | 46 | 13 | 13 | 20 | 37 | 61 | −24 | 52 | |
| 19 | Bristol City | 46 | 15 | 6 | 25 | 46 | 68 | −22 | 51 | |
| 20 | Huddersfield Town | 46 | 12 | 13 | 21 | 50 | 71 | −21 | 49 | |
| 21 | Derby County | 46 | 11 | 11 | 24 | 36 | 58 | −22 | 44 | |
| 22 | Wycombe Wanderers (R) | 46 | 11 | 10 | 25 | 39 | 69 | −30 | 43 | Relegation to EFL League One |
| 23 | Rotherham United (R) | 46 | 11 | 9 | 26 | 44 | 60 | −16 | 42 | Relegation to EFL League One |
| 24 | Sheffield Wednesday (R) | 46 | 12 | 11 | 23 | 40 | 61 | −21 | 41 | Relegation to EFL League One |
* ↑ Sheffield Wednesday received a 12 point deduction for breaching the League's Profitability and Sustainability Rules. This was later reduced to 6 points by an Independent League Arbitration panel.

### Play-offs

| Semi-finals | Semi-finals | Semi-finals | Semi-finals | Semi-finals | Final | Final | Final |
| 3 | Brentford | 0 | 3 | 3 | | | |
| 6 | Bournemouth | 1 | 1 | 2 | | | |
| 6 | Bournemouth | 1 | 1 | 2 | 3 | Brentford | 2 |
| | | | | | 4 | Swansea City | 0 |
| 4 | Swansea City | 1 | 1 | 2 | 4 | Swansea City | 0 |
| 5 | Barnsley | 0 | 1 | 1 | | | |
First leg
Second leg

### Results

| Home \ Away | BAR | BIR | BLA | BOU | BRE | BRI | CAR | COV | DER | HUD | LUT | MID | MIL | NOR | NOT | PNE | QPR | REA | ROT | SHW | STO | SWA | WAT | WYC |
| Barnsley | — | 1–0 | 2–1 | 0–4 | 0–1 | 2–2 | 2–2 | 0–0 | 0–0 | 2–1 | 0–1 | 2–0 | 2–1 | 2–2 | 2–0 | 2–1 | 3–0 | 1–1 | 1–0 | 1–2 | 2–0 | 0–2 | 1–0 | 2–1 |
| Birmingham City | 1–2 | — | 0–2 | 1–3 | 1–0 | 0–3 | 0–4 | 1–1 | 0–4 | 2–1 | 0–1 | 1–4 | 0–0 | 1–3 | 1–1 | 0–1 | 2–1 | 2–1 | 1–1 | 0–1 | 2–0 | 1–0 | 0–1 | 1–2 |
| Blackburn Rovers | 2–1 | 5–2 | — | 0–2 | 0–1 | 0–0 | 0–0 | 1–1 | 2–1 | 5–2 | 1–0 | 0–0 | 2–1 | 1–2 | 0–1 | 1–2 | 3–1 | 2–4 | 2–1 | 1–1 | 1–1 | 1–1 | 2–3 | 5–0 |
| Bournemouth | 2–3 | 3–2 | 3–2 | — | 0–1 | 1–0 | 1–2 | 4–1 | 1–1 | 5–0 | 0–1 | 3–1 | 1–1 | 1–0 | 2–0 | 2–3 | 0–0 | 4–2 | 1–0 | 1–2 | 0–2 | 3–0 | 1–0 | 1–0 |
| Brentford | 0–2 | 0–0 | 2–2 | 2–1 | — | 3–2 | 1–1 | 2–0 | 0–0 | 3–0 | 1–0 | 0–0 | 0–0 | 1–1 | 1–1 | 2–4 | 2–1 | 3–1 | 1–0 | 3–0 | 2–1 | 1–1 | 2–0 | 7–2 |
| Bristol City | 0–1 | 0–1 | 1–0 | 1–2 | 1–3 | — | 0–2 | 2–1 | 1–0 | 2–1 | 2–3 | 0–1 | 0–2 | 1–3 | 0–0 | 2–0 | 0–2 | 0–2 | 0–2 | 2–0 | 0–2 | 1–1 | 0–0 | 2–1 |
| Cardiff City | 3–0 | 3–2 | 2–2 | 1–1 | 2–3 | 0–1 | — | 3–1 | 4–0 | 3–0 | 4–0 | 1–1 | 1–1 | 1–2 | 0–1 | 4–0 | 0–1 | 1–2 | 1–1 | 0–2 | 0–0 | 0–2 | 1–2 | 2–1 |
| Coventry City | 2–0 | 0–0 | 0–4 | 1–3 | 2–0 | 3–1 | 1–0 | — | 1–0 | 0–0 | 0–0 | 1–2 | 6–1 | 0–2 | 1–2 | 0–1 | 3–2 | 3–2 | 3–1 | 2–0 | 0–0 | 1–1 | 0–0 | 0–0 |
| Derby County | 0–2 | 1–2 | 0–4 | 1–0 | 2–2 | 1–0 | 1–1 | 1–1 | — | 2–0 | 2–0 | 2–1 | 0–1 | 0–1 | 1–1 | 0–1 | 0–1 | 0–2 | 0–1 | 3–3 | 0–0 | 2–0 | 0–1 | 1–1 |
| Huddersfield Town | 0–1 | 1–1 | 2–1 | 1–2 | 1–1 | 1–2 | 0–0 | 1–1 | 1–0 | — | 1–1 | 3–2 | 0–1 | 0–1 | 1–0 | 1–2 | 2–0 | 1–2 | 0–0 | 2–0 | 1–1 | 4–1 | 2–0 | 2–3 |
| Luton Town | 1–2 | 1–1 | 1–1 | 0–0 | 0–3 | 2–1 | 0–2 | 2–0 | 2–1 | 1–1 | — | 1–1 | 1–1 | 3–1 | 1–1 | 3–0 | 0–2 | 0–0 | 0–0 | 3–2 | 0–2 | 0–1 | 1–0 | 2–0 |
| Middlesbrough | 2–1 | 0–1 | 0–1 | 1–1 | 1–4 | 1–3 | 1–1 | 2–0 | 3–0 | 2–1 | 1–0 | — | 3–0 | 0–1 | 1–0 | 2–0 | 1–2 | 0–0 | 0–3 | 3–1 | 3–0 | 2–1 | 1–1 | 0–3 |
| Millwall | 1–1 | 2–0 | 0–2 | 1–4 | 1–1 | 4–1 | 1–1 | 1–2 | 0–1 | 0–3 | 2–0 | 1–0 | — | 0–0 | 1–1 | 2–1 | 1–1 | 1–1 | 1–0 | 4–1 | 0–0 | 0–3 | 0–0 | 0–0 |
| Norwich City | 1–0 | 1–0 | 1–1 | 1–3 | 1–0 | 2–0 | 2–0 | 1–1 | 0–1 | 7–0 | 3–0 | 0–0 | 0–0 | — | 2–1 | 2–2 | 1–1 | 4–1 | 1–0 | 2–1 | 4–1 | 1–0 | 0–1 | 2–1 |
| Nottingham Forest | 0–0 | 0–0 | 1–0 | 0–0 | 1–3 | 1–2 | 0–2 | 2–1 | 1–1 | 0–2 | 0–1 | 1–2 | 3–1 | 0–2 | — | 1–2 | 3–1 | 1–1 | 1–1 | 2–0 | 1–1 | 0–1 | 0–0 | 2–0 |
| Preston North End | 2–0 | 1–2 | 0–3 | 1–1 | 0–5 | 1–0 | 0–1 | 2–0 | 3–0 | 3–0 | 0–1 | 3–0 | 0–2 | 1–1 | 0–1 | — | 0–0 | 0–0 | 1–2 | 1–0 | 0–1 | 0–1 | 0–1 | 2–2 |
| Queens Park Rangers | 1–3 | 0–0 | 1–0 | 2–1 | 2–1 | 1–2 | 3–2 | 3–0 | 0–1 | 0–1 | 3–1 | 1–1 | 3–2 | 1–3 | 2–0 | 0–2 | — | 0–1 | 3–2 | 4–1 | 0–0 | 0–2 | 1–1 | 1–0 |
| Reading | 2–0 | 1–2 | 1–0 | 3–1 | 1–3 | 3–1 | 1–1 | 3–0 | 3–1 | 2–2 | 2–1 | 0–2 | 1–2 | 1–2 | 2–0 | 0–3 | 1–1 | — | 3–0 | 3–0 | 0–3 | 2–2 | 1–0 | 1–0 |
| Rotherham United | 1–2 | 0–1 | 1–1 | 2–2 | 0–2 | 2–0 | 1–2 | 0–1 | 3–0 | 1–1 | 0–1 | 1–2 | 0–1 | 1–2 | 0–1 | 2–1 | 3–1 | 0–1 | — | 3–0 | 3–3 | 1–3 | 1–4 | 0–3 |
| Sheffield Wednesday | 1–2 | 0–1 | 1–0 | 1–0 | 1–2 | 1–1 | 5–0 | 1–0 | 1–0 | 1–1 | 0–1 | 2–1 | 0–0 | 1–2 | 0–0 | 1–0 | 1–1 | 1–1 | 1–2 | — | 0–0 | 0–2 | 0–0 | 2–0 |
| Stoke City | 2–2 | 1–1 | 1–0 | 0–1 | 3–2 | 0–2 | 1–2 | 2–3 | 1–0 | 4–3 | 3–0 | 1–0 | 1–2 | 2–3 | 1–1 | 0–0 | 0–2 | 0–0 | 1–0 | 1–0 | — | 1–2 | 1–2 | 2–0 |
| Swansea City | 2–0 | 0–0 | 2–0 | 0–0 | 1–1 | 1–3 | 0–1 | 1–0 | 2–1 | 1–2 | 2–0 | 2–1 | 2–1 | 2–0 | 1–0 | 0–1 | 0–1 | 0–0 | 1–0 | 1–1 | 2–0 | — | 2–1 | 2–2 |
| Watford | 1–0 | 3–0 | 3–1 | 1–1 | 1–1 | 6–0 | 0–1 | 3–2 | 2–1 | 2–0 | 1–0 | 1–0 | 1–0 | 1–0 | 1–0 | 4–1 | 1–2 | 2–0 | 2–0 | 1–0 | 3–2 | 2–0 | — | 2–0 |
| Wycombe Wanderers | 1–3 | 0–0 | 1–0 | 1–0 | 0–0 | 2–1 | 2–1 | 1–2 | 1–2 | 0–0 | 1–3 | 1–3 | 1–2 | 0–2 | 0–3 | 1–0 | 1–1 | 1–0 | 0–1 | 1–0 | 0–1 | 0–2 | 1–1 | — |

## League One
### Table

| Pos | Teamvte | Pld | W | D | L | GF | GA | GD | Pts | Promotion, qualification or relegation |
| 1 | Hull City (C, P) | 46 | 27 | 8 | 11 | 80 | 38 | +42 | 89 | Promotion to the EFL Championship |
| 2 | Peterborough United (P) | 46 | 26 | 9 | 11 | 83 | 46 | +37 | 87 | Promotion to the EFL Championship |
| 3 | Blackpool (O, P) | 46 | 23 | 11 | 12 | 60 | 37 | +23 | 80 | Qualification for League One play-offs |
| 4 | Sunderland | 46 | 20 | 17 | 9 | 70 | 42 | +28 | 77 | Qualification for League One play-offs |
| 5 | Lincoln City | 46 | 22 | 11 | 13 | 69 | 50 | +19 | 77 | Qualification for League One play-offs |
| 6 | Oxford United | 46 | 22 | 8 | 16 | 77 | 56 | +21 | 74 | Qualification for League One play-offs |
| 7 | Charlton Athletic | 46 | 20 | 14 | 12 | 70 | 56 | +14 | 74 | |
| 8 | Portsmouth | 46 | 21 | 9 | 16 | 65 | 51 | +14 | 72 | |
| 9 | Ipswich Town | 46 | 19 | 12 | 15 | 46 | 46 | 0 | 69 | |
| 10 | Gillingham | 46 | 19 | 10 | 17 | 63 | 60 | +3 | 67 | |
| 11 | Accrington Stanley | 46 | 18 | 13 | 15 | 63 | 68 | −5 | 67 | |
| 12 | Crewe Alexandra | 46 | 18 | 12 | 16 | 56 | 61 | −5 | 66 | |
| 13 | Milton Keynes Dons | 46 | 18 | 11 | 17 | 64 | 62 | +2 | 65 | |
| 14 | Doncaster Rovers | 46 | 19 | 7 | 20 | 63 | 67 | −4 | 64 | |
| 15 | Fleetwood Town | 46 | 16 | 12 | 18 | 49 | 46 | +3 | 60 | |
| 16 | Burton Albion | 46 | 15 | 12 | 19 | 61 | 73 | −12 | 57 | |
| 17 | Shrewsbury Town | 46 | 13 | 15 | 18 | 50 | 57 | −7 | 54 | |
| 18 | Plymouth Argyle | 46 | 14 | 11 | 21 | 53 | 80 | −27 | 53 | |
| 19 | AFC Wimbledon | 46 | 12 | 15 | 19 | 54 | 70 | −16 | 51 | |
| 20 | Wigan Athletic | 46 | 13 | 9 | 24 | 54 | 77 | −23 | 48 | |
| 21 | Rochdale (R) | 46 | 11 | 14 | 21 | 61 | 78 | −17 | 47 | Relegation to EFL League Two |
| 22 | Northampton Town (R) | 46 | 11 | 12 | 23 | 41 | 67 | −26 | 45 | Relegation to EFL League Two |
| 23 | Swindon Town (R) | 46 | 13 | 4 | 29 | 55 | 89 | −34 | 43 | Relegation to EFL League Two |
| 24 | Bristol Rovers (R) | 46 | 10 | 8 | 28 | 40 | 70 | −30 | 38 | Relegation to EFL League Two |

### Play-offs

| Semi-finals | Semi-finals | Semi-finals | Semi-finals | Semi-finals | Final | Final | Final |
| 3 | Blackpool | 3 | 3 | 6 | | | |
| 6 | Oxford United | 0 | 3 | 3 | | | |
| 6 | Oxford United | 0 | 3 | 3 | 3 | Blackpool | 2 |
| | | | | | 5 | Lincoln City | 1 |
| 4 | Sunderland | 0 | 2 | 2 | 5 | Lincoln City | 1 |
| 5 | Lincoln City | 2 | 1 | 3 | | | |
First leg
Second leg
Final

### Results

| Home \ Away | ACC | WIM | BLA | BRI | BRT | CHA | CRE | DON | FLE | GIL | HUL | IPS | LIN | MKD | NOR | OXF | PET | PLY | POR | ROC | SHR | SUN | SWI | WIG |
| Accrington Stanley | — | 1–5 | 0–0 | 6–1 | 0–0 | 1–1 | 1–0 | 2–1 | 1–0 | 0–1 | 2–0 | 1–2 | 0–0 | 2–1 | 0–0 | 1–4 | 2–0 | 0–1 | 3–3 | 2–1 | 1–1 | 0–2 | 2–1 | 3–1 |
| AFC Wimbledon | 1–2 | — | 1–0 | 2–4 | 0–1 | 2–2 | 1–2 | 2–2 | 0–1 | 1–0 | 0–3 | 3–0 | 1–2 | 0–2 | 1–0 | 2–1 | 2–1 | 4–4 | 1–3 | 3–3 | 0–1 | 0–3 | 4–1 | 1–1 |
| Blackpool | 0–0 | 1–1 | — | 1–0 | 1–1 | 0–1 | 1–1 | 2–0 | 0–0 | 4–1 | 3–2 | 1–4 | 2–3 | 1–0 | 2–0 | 0–0 | 3–1 | 2–2 | 1–0 | 1–0 | 0–1 | 1–0 | 2–0 | 1–0 |
| Bristol Rovers | 4–1 | 0–0 | 2–1 | — | 1–1 | 0–1 | 0–1 | 2–1 | 1–4 | 0–2 | 1–3 | 0–2 | 0–1 | 0–2 | 2–0 | 0–2 | 0–2 | 3–0 | 3–1 | 1–2 | 2–1 | 0–1 | 0–1 | 1–2 |
| Burton Albion | 2–1 | 1–1 | 1–2 | 1–0 | — | 4–2 | 1–1 | 1–3 | 5–2 | 1–1 | 1–0 | 0–1 | 0–1 | 1–2 | 1–3 | 1–5 | 2–1 | 1–1 | 2–4 | 0–1 | 1–2 | 0–3 | 2–1 | 3–4 |
| Charlton Athletic | 0–2 | 5–2 | 0–3 | 3–2 | 1–2 | — | 2–2 | 1–3 | 3–2 | 2–3 | 1–0 | 0–0 | 3–1 | 0–1 | 2–1 | 2–0 | 0–1 | 2–2 | 1–3 | 4–4 | 1–1 | 0–0 | 2–2 | 1–0 |
| Crewe Alexandra | 2–0 | 1–1 | 1–1 | 3–2 | 0–3 | 0–2 | — | 1–0 | 1–1 | 0–1 | 1–2 | 1–1 | 0–1 | 2–0 | 2–1 | 0–6 | 2–0 | 2–1 | 0–0 | 1–1 | 3–2 | 2–2 | 4–2 | 3–0 |
| Doncaster Rovers | 0–1 | 2–0 | 3–2 | 4–1 | 0–3 | 0–1 | 1–2 | — | 0–1 | 2–1 | 3–3 | 4–1 | 1–0 | 1–1 | 0–0 | 3–2 | 1–4 | 2–1 | 2–1 | 1–0 | 0–1 | 1–1 | 2–1 | 1–4 |
| Fleetwood Town | 1–1 | 0–1 | 0–1 | 0–0 | 2–1 | 1–1 | 0–2 | 3–1 | — | 1–0 | 4–1 | 2–0 | 0–0 | 1–1 | 0–0 | 2–0 | 0–1 | 5–1 | 0–1 | 1–0 | 1–0 | 1–1 | 0–2 | 1–1 |
| Gillingham | 0–2 | 2–1 | 2–0 | 2–0 | 0–1 | 1–1 | 4–1 | 2–2 | 0–2 | — | 0–2 | 3–1 | 0–3 | 3–2 | 2–2 | 3–1 | 1–3 | 1–0 | 0–2 | 2–2 | 0–0 | 0–2 | 2–0 | 1–0 |
| Hull City | 3–0 | 1–0 | 1–1 | 2–0 | 2–0 | 2–0 | 1–0 | 2–1 | 2–1 | 1–1 | — | 0–1 | 0–0 | 0–1 | 3–0 | 2–0 | 1–2 | 1–0 | 0–2 | 2–0 | 0–1 | 2–2 | 1–0 | 3–1 |
| Ipswich Town | 2–0 | 0–0 | 2–0 | 2–1 | 2–1 | 0–2 | 1–0 | 2–1 | 3–1 | 1–0 | 0–3 | — | 1–1 | 0–0 | 0–0 | 0–0 | 0–1 | 1–0 | 0–2 | 2–0 | 2–1 | 0–1 | 2–3 | 2–0 |
| Lincoln City | 2–2 | 0–0 | 2–2 | 1–2 | 5–1 | 2–0 | 3–0 | 0–1 | 1–2 | 0–3 | 1–2 | 1–0 | — | 4–0 | 2–1 | 2–0 | 1–1 | 2–0 | 1–3 | 1–2 | 0–1 | 0–4 | 2–2 | 2–1 |
| Milton Keynes Dons | 3–2 | 1–1 | 0–1 | 2–0 | 1–1 | 0–1 | 0–2 | 1–0 | 3–1 | 2–0 | 1–3 | 1–1 | 1–2 | — | 4–3 | 1–1 | 1–1 | 2–1 | 1–0 | 0–3 | 2–2 | 2–2 | 5–0 | 2–0 |
| Northampton Town | 0–1 | 2–2 | 0–3 | 1–1 | 0–2 | 0–2 | 0–1 | 0–2 | 1–0 | 3–1 | 0–2 | 3–0 | 0–4 | 0–0 | — | 1–0 | 0–2 | 2–0 | 4–1 | 0–0 | 1–0 | 0–0 | 2–1 | 0–1 |
| Oxford United | 1–2 | 2–0 | 0–2 | 2–0 | 4–0 | 0–0 | 0–2 | 3–0 | 1–0 | 3–2 | 1–1 | 0–0 | 2–1 | 3–2 | 4–0 | — | 0–0 | 3–1 | 0–1 | 3–1 | 4–1 | 0–2 | 1–2 | 2–1 |
| Peterborough United | 7–0 | 3–0 | 1–2 | 0–0 | 2–2 | 2–1 | 2–0 | 2–2 | 2–1 | 0–1 | 1–3 | 2–1 | 3–3 | 3–0 | 3–1 | 2–0 | — | 1–0 | 1–0 | 4–1 | 5–1 | 1–1 | 3–1 | 2–1 |
| Plymouth Argyle | 2–2 | 1–0 | 1–0 | 2–0 | 2–0 | 0–6 | 1–1 | 2–1 | 1–0 | 1–0 | 0–3 | 1–2 | 4–3 | 1–0 | 2–1 | 2–3 | 0–3 | — | 2–2 | 0–4 | 1–1 | 1–3 | 4–2 | 0–2 |
| Portsmouth | 0–1 | 4–0 | 0–1 | 1–0 | 1–2 | 0–2 | 4–1 | 0–1 | 0–0 | 1–1 | 0–4 | 2–1 | 0–1 | 2–1 | 4–0 | 1–1 | 2–0 | 2–2 | — | 2–1 | 0–0 | 0–2 | 2–0 | 1–2 |
| Rochdale | 3–1 | 0–1 | 1–0 | 1–1 | 0–2 | 0–2 | 3–3 | 1–2 | 2–1 | 1–4 | 0–3 | 0–0 | 0–2 | 1–4 | 1–1 | 3–4 | 3–3 | 0–0 | 0–0 | — | 0–2 | 2–2 | 2–1 | 3–3 |
| Shrewsbury Town | 2–2 | 1–1 | 1–0 | 0–1 | 1–1 | 1–1 | 0–1 | 0–2 | 0–2 | 1–1 | 1–1 | 0–0 | 0–1 | 4–2 | 1–2 | 2–3 | 2–0 | 3–0 | 1–2 | 1–2 | — | 2–1 | 3–3 | 1–2 |
| Sunderland | 3–3 | 1–1 | 0–1 | 1–1 | 1–1 | 1–2 | 1–0 | 4–1 | 2–0 | 2–2 | 1–1 | 2–1 | 1–1 | 1–2 | 1–1 | 3–1 | 1–0 | 1–2 | 1–3 | 2–0 | 1–0 | — | 1–0 | 0–1 |
| Swindon Town | 0–3 | 0–1 | 0–2 | 1–0 | 4–2 | 2–2 | 2–1 | 1–2 | 0–1 | 1–3 | 2–1 | 1–2 | 0–1 | 1–4 | 2–1 | 1–2 | 0–3 | 0–2 | 3–1 | 3–1 | 0–1 | 0–2 | — | 1–0 |
| Wigan Athletic | 4–3 | 2–3 | 0–5 | 0–0 | 1–1 | 0–1 | 2–0 | 1–0 | 0–0 | 2–3 | 0–5 | 0–0 | 1–2 | 3–0 | 2–3 | 1–2 | 0–1 | 1–1 | 0–1 | 0–5 | 1–1 | 2–1 | 3–4 | — |

## League Two
### Table

| Pos | Teamvte | Pld | W | D | L | GF | GA | GD | Pts | Promotion, qualification or relegation |
| 1 | Cheltenham Town (C, P) | 46 | 24 | 10 | 12 | 61 | 39 | +22 | 82 | Promotion to the EFL League One |
| 2 | Cambridge United (P) | 46 | 24 | 8 | 14 | 73 | 49 | +24 | 80 | Promotion to the EFL League One |
| 3 | Bolton Wanderers (P) | 46 | 23 | 10 | 13 | 59 | 50 | +9 | 79 | Promotion to the EFL League One |
| 4 | Morecambe (O, P) | 46 | 23 | 9 | 14 | 69 | 58 | +11 | 78 | Qualification for League Two play-offs |
| 5 | Newport County | 46 | 20 | 13 | 13 | 57 | 42 | +15 | 73 | Qualification for League Two play-offs |
| 6 | Forest Green Rovers | 46 | 20 | 13 | 13 | 59 | 51 | +8 | 73 | Qualification for League Two play-offs |
| 7 | Tranmere Rovers | 46 | 20 | 13 | 13 | 55 | 50 | +5 | 73 | Qualification for League Two play-offs |
| 8 | Salford City | 46 | 19 | 14 | 13 | 54 | 34 | +20 | 71 | |
| 9 | Exeter City | 46 | 18 | 16 | 12 | 71 | 50 | +21 | 70 | |
| 10 | Carlisle United | 46 | 18 | 12 | 16 | 60 | 51 | +9 | 66 | |
| 11 | Leyton Orient | 46 | 17 | 10 | 19 | 53 | 55 | −2 | 61 | |
| 12 | Crawley Town | 46 | 16 | 13 | 17 | 56 | 62 | −6 | 61 | |
| 13 | Port Vale | 46 | 17 | 9 | 20 | 57 | 57 | 0 | 60 | |
| 14 | Stevenage | 46 | 14 | 18 | 14 | 41 | 41 | 0 | 60 | |
| 15 | Bradford City | 46 | 16 | 11 | 19 | 48 | 53 | −5 | 59 | |
| 16 | Mansfield Town | 46 | 13 | 19 | 14 | 57 | 55 | +2 | 58 | |
| 17 | Harrogate Town | 46 | 16 | 9 | 21 | 52 | 61 | −9 | 57 | |
| 18 | Oldham Athletic | 46 | 15 | 9 | 22 | 72 | 81 | −9 | 54 | |
| 19 | Walsall | 46 | 11 | 20 | 15 | 45 | 53 | −8 | 53 | |
| 20 | Colchester United | 46 | 11 | 18 | 17 | 44 | 61 | −17 | 51 | |
| 21 | Barrow | 46 | 13 | 11 | 22 | 53 | 59 | −6 | 50 | |
| 22 | Scunthorpe United | 46 | 13 | 9 | 24 | 41 | 64 | −23 | 48 | |
| 23 | Southend United (R) | 46 | 10 | 15 | 21 | 29 | 58 | −29 | 45 | Relegation to National League |
| 24 | Grimsby Town (R) | 46 | 10 | 13 | 23 | 37 | 69 | −32 | 43 | Relegation to National League |

### Play-offs

| Semi-finals | Semi-finals | Semi-finals | Semi-finals | Semi-finals | Final | Final | Final |
| 4 | Morecambe | 2 | 1 | 3 | | | |
| 7 | Tranmere Rovers | 1 | 1 | 2 | | | |
| 7 | Tranmere Rovers | 1 | 1 | 2 | 4 | Morecambe | 1 |
| | | | | | 5 | Newport County | 0 |
| 5 | Newport County | 2 | 3 | 5 | 5 | Newport County | 0 |
| 6 | Forest Green Rovers | 0 | 4 | 4 | | | |
First leg
Second leg
Final

### Results

| Home \ Away | BRW | BOL | BRA | CAM | CAR | CHE | COL | CRA | EXE | FOR | GRI | HAR | LEY | MAN | MOR | NEW | OLD | POR | SAL | SCU | SOU | STE | TRA | WAL |
| Barrow | — | 3–3 | 1–0 | 0–2 | 2–2 | 3–0 | 1–1 | 3–2 | 2–1 | 2–2 | 0–1 | 0–1 | 1–1 | 2–0 | 1–2 | 2–1 | 3–4 | 0–2 | 0–1 | 1–0 | 1–2 | 1–1 | 1–1 | 2–2 |
| Bolton Wanderers | 1–0 | — | 1–0 | 2–1 | 1–0 | 1–1 | 0–0 | 0–1 | 1–2 | 0–1 | 0–0 | 2–1 | 2–0 | 1–1 | 1–1 | 0–2 | 1–2 | 3–6 | 2–0 | 2–0 | 3–0 | 1–0 | 0–3 | 2–1 |
| Bradford City | 2–1 | 1–1 | — | 1–0 | 0–1 | 1–2 | 0–0 | 0–2 | 2–2 | 4–1 | 1–0 | 0–1 | 1–0 | 1–0 | 2–1 | 0–3 | 0–0 | 0–0 | 0–1 | 0–0 | 3–0 | 2–1 | 0–1 | 1–1 |
| Cambridge United | 1–1 | 1–1 | 0–0 | — | 3–0 | 0–1 | 2–1 | 3–1 | 1–4 | 1–0 | 3–0 | 2–1 | 2–1 | 0–1 | 2–1 | 2–1 | 1–2 | 3–1 | 2–1 | 0–1 | 0–0 | 0–1 | 0–0 | 1–0 |
| Carlisle United | 1–0 | 3–3 | 3–1 | 1–2 | — | 1–2 | 3–2 | 2–0 | 1–0 | 1–2 | 1–1 | 1–1 | 0–1 | 1–0 | 3–1 | 3–2 | 1–3 | 0–0 | 2–1 | 2–0 | 2–0 | 4–0 | 2–3 | 0–0 |
| Cheltenham Town | 0–2 | 0–1 | 0–2 | 1–1 | 1–1 | — | 1–0 | 2–0 | 5–3 | 2–1 | 1–3 | 4–1 | 1–0 | 0–0 | 1–2 | 1–1 | 2–0 | 3–2 | 2–0 | 1–0 | 1–0 | 1–1 | 4–0 | 3–0 |
| Colchester United | 1–1 | 2–0 | 1–2 | 1–1 | 2–1 | 0–0 | — | 1–1 | 1–2 | 1–0 | 2–1 | 2–1 | 2–1 | 2–2 | 1–2 | 0–2 | 3–3 | 0–1 | 1–0 | 0–1 | 2–0 | 3–1 | 2–2 | 2–1 |
| Crawley Town | 4–2 | 1–4 | 1–1 | 2–1 | 0–3 | 1–0 | 1–0 | — | 2–0 | 0–0 | 1–2 | 1–3 | 0–0 | 1–0 | 4–0 | 1–1 | 1–4 | 1–3 | 1–0 | 1–0 | 1–1 | 0–1 | 4–0 | 1–1 |
| Exeter City | 1–1 | 1–1 | 3–2 | 2–0 | 1–0 | 0–1 | 6–1 | 2–1 | — | 1–1 | 3–2 | 1–2 | 4–0 | 0–0 | 0–2 | 0–0 | 1–2 | 0–2 | 1–0 | 3–1 | 0–0 | 3–1 | 5–0 | 0–0 |
| Forest Green Rovers | 0–2 | 0–1 | 2–2 | 2–0 | 1–0 | 0–0 | 3–0 | 1–2 | 0–0 | — | 1–0 | 2–1 | 2–1 | 1–2 | 2–2 | 1–1 | 4–3 | 1–1 | 0–2 | 3–2 | 1–3 | 1–0 | 2–1 | 1–1 |
| Grimsby Town | 1–0 | 2–1 | 1–2 | 1–2 | 1–1 | 1–1 | 0–0 | 2–1 | 1–4 | 1–2 | — | 1–2 | 0–1 | 1–1 | 0–3 | 0–2 | 0–0 | 1–0 | 0–4 | 1–0 | 0–0 | 1–2 | 0–0 | 1–1 |
| Harrogate Town | 1–0 | 1–2 | 2–1 | 5–4 | 1–0 | 0–1 | 3–0 | 1–1 | 0–0 | 0–1 | 1–0 | — | 2–2 | 1–0 | 0–1 | 2–1 | 0–3 | 0–2 | 0–1 | 2–5 | 0–1 | 0–0 | 0–1 | 2–2 |
| Leyton Orient | 2–0 | 4–0 | 1–0 | 2–4 | 2–3 | 0–2 | 0–0 | 1–2 | 1–1 | 0–1 | 2–3 | 3–0 | — | 2–2 | 2–0 | 2–1 | 2–1 | 1–1 | 1–0 | 1–1 | 2–0 | 0–0 | 1–3 | 0–0 |
| Mansfield Town | 2–4 | 2–3 | 1–3 | 0–3 | 1–1 | 3–1 | 1–1 | 3–3 | 1–2 | 0–0 | 2–2 | 0–1 | 0–2 | — | 1–0 | 1–1 | 4–1 | 4–0 | 2–1 | 3–0 | 1–1 | 0–0 | 0–0 | 1–1 |
| Morecambe | 1–0 | 0–1 | 2–0 | 0–5 | 3–1 | 1–0 | 3–0 | 3–1 | 2–2 | 1–2 | 3–1 | 1–0 | 2–1 | 1–1 | — | 1–3 | 4–3 | 1–0 | 2–1 | 4–1 | 1–1 | 1–1 | 0–1 | 1–1 |
| Newport County | 2–1 | 1–0 | 2–1 | 0–1 | 0–0 | 1–0 | 2–1 | 2–0 | 1–1 | 0–2 | 1–0 | 2–1 | 0–1 | 2–1 | 2–1 | — | 2–4 | 1–0 | 0–0 | 4–0 | 0–1 | 0–0 | 1–0 | 1–1 |
| Oldham Athletic | 0–1 | 0–2 | 3–1 | 2–4 | 1–1 | 2–1 | 5–2 | 2–3 | 2–1 | 0–3 | 1–2 | 1–2 | 0–1 | 2–3 | 2–3 | 3–2 | — | 1–2 | 2–1 | 0–2 | 0–0 | 0–1 | 0–1 | 2–3 |
| Port Vale | 0–2 | 0–1 | 2–1 | 0–1 | 0–1 | 2–1 | 1–1 | 2–0 | 1–0 | 1–1 | 3–0 | 0–0 | 2–3 | 0–3 | 1–0 | 2–1 | 0–0 | — | 1–0 | 0–1 | 5–1 | 0–0 | 3–4 | 1–3 |
| Salford City | 1–0 | 0–1 | 3–0 | 4–1 | 1–1 | 0–0 | 0–0 | 1–1 | 2–2 | 0–0 | 1–1 | 2–2 | 3–0 | 2–0 | 2–1 | 1–1 | 2–0 | 1–0 | — | 1–1 | 3–0 | 2–1 | 2–2 | 2–0 |
| Scunthorpe United | 2–1 | 0–1 | 2–0 | 0–5 | 1–0 | 0–2 | 0–1 | 0–0 | 0–2 | 1–4 | 3–0 | 3–1 | 2–0 | 2–3 | 1–1 | 1–1 | 1–1 | 2–0 | 0–1 | — | 1–1 | 0–1 | 0–0 | 0–2 |
| Southend United | 1–0 | 0–1 | 1–3 | 1–2 | 0–2 | 0–2 | 2–0 | 0–0 | 2–2 | 0–1 | 3–1 | 0–4 | 2–1 | 0–1 | 1–2 | 1–1 | 1–2 | 0–2 | 0–0 | 1–0 | — | 0–0 | 0–2 | 0–0 |
| Stevenage | 2–1 | 1–2 | 1–1 | 1–0 | 3–1 | 0–1 | 0–0 | 3–3 | 0–1 | 3–0 | 0–0 | 1–0 | 0–2 | 0–1 | 2–2 | 0–1 | 3–0 | 2–1 | 0–1 | 3–1 | 0–0 | — | 0–0 | 1–1 |
| Tranmere Rovers | 1–0 | 2–1 | 0–1 | 1–1 | 1–0 | 0–3 | 0–0 | 0–1 | 2–1 | 3–2 | 5–0 | 3–2 | 0–1 | 1–1 | 0–1 | 1–0 | 2–2 | 3–1 | 0–0 | 2–0 | 2–0 | 0–1 | — | 1–3 |
| Walsall | 0–1 | 2–1 | 1–2 | 0–2 | 0–2 | 1–2 | 1–1 | 1–0 | 0–0 | 2–1 | 1–0 | 0–0 | 2–1 | 1–1 | 0–2 | 0–1 | 1–1 | 4–3 | 0–2 | 1–2 | 0–1 | 1–1 | 1–0 | — |

## Managerial changes

| Team | Outgoing manager | Manner of departure | Date of vacancy | Position in table | Incoming manager | Date of appointment | Position in table |
| Scunthorpe United | Paul Hurst | Sacked | 29 January 2020 | 2019–20 English Football League | Neil Cox | 7 August 2020 | Pre-season |
| Southend United | Sol Campbell | Mutual consent | 30 June 2020 | 2019–20 English Football League | Mark Molesley | 13 August 2020 | Pre-season |
| Bristol City | Lee Johnson | Sacked | 4 July 2020 | 2019–20 English Football League | Dean Holden | 10 August 2020 | Pre-season |
| Watford | Nigel Pearson | Sacked | 19 July 2020 | 2019–20 Premier League | Vladimir Ivić | 15 August 2020 | Pre-season |
| Oldham Athletic | Dino Maamria | Sacked | 31 July 2020 | Pre-season | Harry Kewell | 1 August 2020 | Pre-season |
| Bournemouth | Eddie Howe | Mutual consent | 1 August 2020 | Pre-season | Jason Tindall | 8 August 2020 | Pre-season |
| Wigan Athletic | Paul Cook | Resigned | 1 August 2020 | Pre-season | John Sheridan | 11 September 2020 | Pre-season |
| Reading | Mark Bowen | Appointed Director of Football | 29 August 2020 | Pre-season | Veljko Paunović | 29 August 2020 | Pre-season |
| Barnsley | Gerhard Struber | Appointed by New York Red Bulls | 6 October 2020 | 21st | Valérien Ismaël | 23 October 2020 | 21st |
| Nottingham Forest | Sabri Lamouchi | Sacked | 6 October 2020 | 22nd | Chris Hughton | 6 October 2020 | 22nd |
| Salford City | Graham Alexander | Sacked | 12 October 2020 | 5th | Richie Wellens | 4 November 2020 | 10th |
| Mansfield Town | Graham Coughlan | Sacked | 28 October 2020 | 22nd | Nigel Clough | 6 November 2020 | 22nd |
| Tranmere Rovers | Mike Jackson | Sacked | 31 October 2020 | 18th | Keith Hill | 21 November 2020 | 13th |
| Swindon Town | Richie Wellens | Appointed by Salford City | 4 November 2020 | 20th | John Sheridan | 13 November 2020 | 20th |
| Sheffield Wednesday | Garry Monk | Sacked | 9 November 2020 | 23rd | Tony Pulis | 13 November 2020 | 23rd |
| Wigan Athletic | John Sheridan | Appointed by Swindon Town | 13 November 2020 | 24th | Leam Richardson | 21 April 2021 | 20th |
| Derby County | Phillip Cocu | Sacked | 14 November 2020 | 24th | Wayne Rooney | 15 January 2021 | 22nd |
| Bristol Rovers | Ben Garner | Sacked | 14 November 2020 | 18th | Paul Tisdale | 19 November 2020 | 18th |
| Shrewsbury Town | Sam Ricketts | Sacked | 25 November 2020 | 23rd | Steve Cotterill | 27 November 2020 | 23rd |
| Sunderland | Phil Parkinson | Sacked | 29 November 2020 | 8th | Lee Johnson | 5 December 2020 | 8th |
| Bradford City | Stuart McCall | Sacked | 13 December 2020 | 22nd | Mark Trueman Conor Sellars | 22 February 2021 | 13th |
| Barrow | David Dunn | Sacked | 13 December 2020 | 21st | Michael Jolley | 23 December 2020 | 22nd |
| Watford | Vladimir Ivić | Sacked | 19 December 2020 | 5th | Xisco Munoz | 20 December 2020 | 5th |
| Grimsby Town | Ian Holloway | Resigned | 23 December 2020 | 20th | Paul Hurst | 30 December 2020 | 22nd |
| Sheffield Wednesday | Tony Pulis | Sacked | 28 December 2020 | 23rd | Darren Moore | 1 March 2021 | 23rd |
| Burton Albion | Jake Buxton | Sacked | 29 December 2020 | 24th | Jimmy Floyd Hasselbaink | 1 January 2021 | 24th |
| Fleetwood Town | Joey Barton | Sacked | 4 January 2021 | 10th | Simon Grayson | 31 January 2021 | 14th |
| Port Vale | John Askey | Sacked | 4 January 2021 | 17th | Darrell Clarke | 15 February 2021 | 18th |
| Cardiff City | Neil Harris | Sacked | 21 January 2021 | 15th | Mick McCarthy | 22 January 2021 | 15th |
| AFC Wimbledon | Glyn Hodges | Mutual consent | 30 January 2021 | 21st | Mark Robinson | 17 February 2021 | 20th |
| Bournemouth | Jason Tindall | Sacked | 3 February 2021 | 6th | Jonathan Woodgate | 21 February 2021 | 6th |
| Bristol Rovers | Paul Tisdale | Sacked | 10 February 2021 | 20th | Joey Barton | 22 February 2021 | 19th |
| Northampton Town | Keith Curle | Sacked | 10 February 2021 | 23rd | Jon Brady | 8 May 2021 | 2021–22 English Football League |
| Walsall | Darrell Clarke | Appointed by Port Vale | 15 February 2021 | 11th | Brian Dutton | 15 February 2021 | 11th |
| Bristol City | Dean Holden | Sacked | 17 February 2021 | 13th | Nigel Pearson | 22 February 2021 | 15th |
| Barrow | Michael Jolley | Sacked | 21 February 2021 | 23rd | Mark Cooper | 28 May 2021 | 2021–22 English Football League |
| Colchester United | Steve Ball | Sacked | 23 February 2021 | 21st | Hayden Mullins | 13 May 2021 | 2021–22 English Football League |
| Leyton Orient | Ross Embleton | Sacked | 27 February 2021 | 14th | Kenny Jackett | 21 May 2021 | 2021–22 English Football League |
| Doncaster Rovers | Darren Moore | Appointed by Sheffield Wednesday | 1 March 2021 | 6th | Richie Wellens | 17 May 2021 | 2021–22 English Football League |
| Ipswich Town | Paul Lambert | Mutual consent | 1 March 2021 | 8th | Paul Cook | 2 March 2021 | 8th |
| Oldham Athletic | Harry Kewell | Sacked | 7 March 2021 | 16th | Keith Curle | 8 March 2021 | 16th |
| Portsmouth | Kenny Jackett | Sacked | 14 March 2021 | 7th | Danny Cowley | 19 March 2021 | 7th |
| Charlton Athletic | Lee Bowyer | Resigned | 15 March 2021 | 8th | Nigel Adkins | 18 March 2021 | 6th |
| Birmingham City | Aitor Karanka | Resigned | 16 March 2021 | 21st | Lee Bowyer | 16 March 2021 | 21st |
| Preston North End | Alex Neil | Sacked | 21 March 2021 | 16th | Frankie McAvoy | 10 May 2021 | 2021–22 English Football League |
| Salford City | Richie Wellens | Mutual consent | 22 March 2021 | 9th | Gary Bowyer | 23 March 2021 | 9th |
| Southend United | Mark Molesley | Sacked | 9 April 2021 | 23rd | Phil Brown | 9 April 2021 | 23rd |
| Forest Green Rovers | Mark Cooper | Sacked | 11 April 2021 | 6th | Rob Edwards | 27 May 2021 | 2021–22 English Football League |
| Swindon Town | John Sheridan | Resigned | 18 April 2021 | 23rd | John McGreal | 26 May 2021 | 2021–22 English Football League |
| Tranmere Rovers | Keith Hill | Sacked | 11 May 2021 | 7th | Micky Mellon | 31 May 2021 | 2021–22 English Football League |