# 2020–21 EFL League Two

The 2020–21 EFL League Two (referred to as the Sky Bet League Two for sponsorship reasons) was the 17th season of Football League Two under its current title and the 29th season under its current league division format.

## Team changes

The following teams have changed divisions since the 2019–20 season.

### To League Two

Promoted from National League
* Barrow
* Harrogate Town
Relegated from League One
* Tranmere Rovers
* Southend United
* Bolton Wanderers

### From League Two

Promoted to League One
* Swindon Town
* Crewe Alexandra
* Plymouth Argyle
* Northampton Town
Relegated to National League
* Macclesfield Town
* ↑ Stevenage originally finished 24th in the 2019–20 EFL League Two table, but after 17 points were deducted against Macclesfield Town, Macclesfield slipped to 24th, and Stevenage were granted a reprieve from relegation.
* "Macclesfield relegated after appeal upheld". BBC Sport.

## Stadiums

| Team | Location | Stadium | Capacity |
| Barrow | Barrow-in-Furness | Holker Street | 5,045 |
| Bolton Wanderers | Bolton | University of Bolton Stadium | 28,723 |
| Bradford City | Bradford | Valley Parade | 25,136 |
| Cambridge United | Cambridge | Abbey Stadium | 8,127 |
| Carlisle United | Carlisle | Brunton Park | 18,202 |
| Cheltenham Town | Cheltenham | Whaddon Road | 7,066 |
| Colchester United | Colchester | Colchester Community Stadium | 10,105 |
| Crawley Town | Crawley | Broadfield Stadium | 5,996 |
| Exeter City | Exeter | St. James Park | 8,696 |
| Forest Green Rovers | Nailsworth | The New Lawn | 5,147 |
| Grimsby Town | Cleethorpes | Blundell Park | 9,052 |
| Harrogate Town | Harrogate | Wetherby Road | 5,000 |
| Leyton Orient | London (Leyton) | Brisbane Road | 9,271 |
| Mansfield Town | Mansfield | Field Mill | 10,000 |
| Morecambe | Morecambe | Globe Arena | 6,476 |
| Newport County | Newport | Rodney Parade | 7,850 |
| Oldham Athletic | Oldham | Boundary Park | 13,512 |
| Port Vale | Burslem | Vale Park | 19,052 |
| Salford City | Salford | Moor Lane | 5,108 |
| Scunthorpe United | Scunthorpe | Glanford Park | 9,088 |
| Southend United | Southend-on-Sea | Roots Hall | 12,392 |
| Stevenage | Stevenage | Broadhall Way | 7,800 |
| Tranmere Rovers | Birkenhead | Prenton Park | 16,789 |
| Walsall | Walsall | Bescot Stadium | 11,300 |
* ↑ Harrogate Town began the season at the Keepmoat Stadium in Doncaster.
* "Harrogate Town: Doncaster Rovers groundshare for EFL newcomers". BBC Sport. 4 August 2020. Retrieved 4 August 2020.

## Personnel and sponsoring

| Team | Manager | Captain | Kit manufacturer | Sponsor |
| Barrow | Rob Kelly (caretaker) | Jason Taylor | Joma | JF Hornby & Co. |
| Bolton Wanderers | Ian Evatt | Antoni Sarcevic | Macron | Home Bargains |
| Bradford City | Mark Trueman and Conor Sellars | Richard O'Donnell | Avec Sport | JCT600 |
| Cambridge United | Mark Bonner | Greg Taylor | Hummel | Mick George |
| Carlisle United | Chris Beech | Nick Anderton | Erreà | Edinburgh Woollen Mill |
| Cheltenham Town | Michael Duff | Ben Tozer | Erreà | Mira Showers |
| Colchester United | Hayden Mullins (caretaker) | Harry Pell | Macron | Texo Scaffolding (Home) JobServe (Away / Third) |
| Crawley Town | John Yems | George Francomb | Erreà | The People's Pension |
| Exeter City | Matt Taylor | Jake Taylor | Joma | Carpetright |
| Forest Green Rovers | Jimmy Ball (caretaker) | Chris Stokes | PlayerLayer | Ecotricity |
| Grimsby Town | Paul Hurst | James McKeown | Erreà | Young's Seafood |
| Harrogate Town | Simon Weaver | Josh Falkingham | New Balance | Strata |
| Leyton Orient | Jobi McAnuff (caretaker) | Jobi McAnuff | New Balance | Multiple charities |
| Mansfield Town | Nigel Clough | Ollie Clarke | Surridge | One Call |
| Morecambe | Derek Adams | Sam Lavelle | Macron | Annapurna Recruitment |
| Newport County | Michael Flynn | Joss Labadie | Hummel | Home: Alzheimer's Society Cymru Away: PureVans Third: ExilesPicks |
| Oldham Athletic | Keith Curle | Carl Piergianni | Hummel | Wakelet |
| Port Vale | Darrell Clarke | Tom Conlon | Erreà | Synectics Solutions |
| Salford City | Gary Bowyer | Ashley Eastham | Kappa | TalkTalk |
| Scunthorpe United | Neil Cox | Jordan Clarke | Macron | Utilita Energy |
| Southend United | Phil Brown | John White | Hummel | Watchlotto |
| Stevenage | Alex Revell | Scott Cuthbert | Macron | Burger King |
| Tranmere Rovers | Ian Dawes (caretaker) | Scott Davies | Puma | Essar |
| Walsall | Brian Dutton | James Clarke | Erreà | HomeServe |
* ↑ Tottenham Hotspur player Harry Kane, who played for Leyton Orient early in his career, bought the club's shirt sponsorship for the 2020–21 season. Each of the team's shirts will feature a different message or charity chosen by Kane: "Thank You Frontline Workers" (home shirt), Haven House Children's Hospice (away shirt), and Mind (third shirt).

## Managerial changes

| Team | Outgoing manager | Manner of departure | Date of vacancy | Position in table | Incoming manager | Date of appointment |
| Bolton Wanderers | Keith Hill | End of contract | 12 June 2020 | Pre-season | Ian Evatt | 1 July 2020 |
| Southend United | Sol Campbell | Mutual consent | 30 June 2020 | Pre-season | Mark Molesley | 13 August 2020 |
| Barrow | Ian Evatt | Signed by Bolton Wanderers | 1 July 2020 | Pre-season | David Dunn | 9 July 2020 |
| Tranmere Rovers | Micky Mellon | Signed by Dundee United | 6 July 2020 | Pre-season | Mike Jackson | 18 July 2020 |
| Colchester United | John McGreal | Sacked | 14 July 2020 | Pre-season | Steve Ball | 28 July 2020 |
| Oldham Athletic | Dino Maamria | Sacked | 31 July 2020 | Pre-season | Harry Kewell | 1 August 2020 |
| Scunthorpe United | Russ Wilcox | End of caretaker spell | 7 August 2020 | Pre-season | Neil Cox | 7 August 2020 |
| Salford City | Graham Alexander | Sacked | 12 October 2020 | 5th | Richie Wellens | 4 November 2020 |
| Mansfield Town | Graham Coughlan | Sacked | 27 October 2020 | 22nd | Nigel Clough | 6 November 2020 |
| Tranmere Rovers | Mike Jackson | Sacked | 31 October 2020 | 18th | Keith Hill | 21 November 2020 |
| Bradford City | Stuart McCall | Sacked | 13 December 2020 | 22nd | Mark Trueman Conor Sellars | 22 February 2021 |
| Barrow | David Dunn | Sacked | 13 December 2020 | 21st | Michael Jolley | 23 December 2020 |
| Grimsby Town | Ian Holloway | Resigned | 23 December 2020 | 20th | Paul Hurst | 30 December 2020 |
| Port Vale | John Askey | Sacked | 4 January 2021 | 17th | Darrell Clarke | 15 February 2021 |
| Walsall | Darrell Clarke | Signed by Port Vale | 15 February 2021 | 11th | Brian Dutton | 15 February 2021 |
| Barrow | Michael Jolley | Sacked | 21 February 2021 | 23rd | Rob Kelly (Caretaker) | 21 February 2021 |
| Colchester United | Steve Ball | Sacked | 24 February 2021 | 21st | Wayne Brown (Caretaker) | 24 February 2021 |
| Leyton Orient | Ross Embleton | Sacked | 27 February 2021 | 14th | Jobi McAnuff (Caretaker) | 28 February 2021 |
| Oldham Athletic | Harry Kewell | Sacked | 7 March 2021 | 16th | Keith Curle | 8 March 2021 |
| Salford City | Richie Wellens | Mutual consent | 22 March 2021 | 9th | Gary Bowyer | 23 March 2021 |
| Colchester United | Wayne Brown (Caretaker) | End of caretaker spell | 31 March 2021 | 21st | Hayden Mullins (Caretaker) | 31 March 2021 |
| Southend United | Mark Molesley | Mutual consent | 9 April 2021 | 23rd | Phil Brown | 9 April 2021 |
| Forest Green Rovers | Mark Cooper | Sacked | 11 April 2021 | 6th | Jimmy Ball (interim) | 11 April 2021 |
| Tranmere Rovers | Keith Hill | Sacked | 11 May 2021 | 7th | Ian Dawes (caretaker) | 11 May 2021 |

## League 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 | — |

## Season statistics
### Top scorers

    As of 8 May 2021
| Rank | Player | Club | Goals |
| 1 | Paul Mullin | Cambridge United | 32 |
| 2 | Eoin Doyle | Bolton Wanderers | 19 |
| 3 | Matt Jay | Exeter City | 18 |
| 3 | James Vaughan | Tranmere Rovers | 18 |
| 5 | Ian Henderson | Salford City | 17 |
| 5 | Danny Johnson | Leyton Orient | 17 |
| 5 | Conor McAleny | Oldham Athletic | 17 |
| 8 | Jamille Matt | Forest Green Rovers | 16 |
| 9 | Carlos Mendes Gomes | Morecambe | 15 |
| 9 | Jack Muldoon | Harrogate Town | 15 |
| 9 | Scott Quigley | Barrow | 15 |

### Hat-tricks

| Player | For | Against | Result | Date |
| Paul Mullin | Cambridge United | Morecambe | 5–0 | 19 September 2020 |
| Ian Henderson | Salford City | Grimsby Town | 4–0 | 19 September 2020 |
| Jamille Matt | Forest Green Rovers | Scunthorpe United | 4–1 | 10 October 2020 |
| Paul Mullin | Cambridge United | Port Vale | 3–1 | 20 October 2020 |
| Jevani Brown | Colchester United | Stevenage | 3–1 | 3 November 2020 |
| Danny Johnson | Leyton Orient | Harrogate Town | 3–0 | 21 November 2020 |
| Ryan Bowman | Exeter City | Colchester United | 6–1 | 24 November 2020 |
| Ryan Bowman | Exeter City | Tranmere Rovers | 5–0 | 12 December 2020 |
| Max Watters | Crawley Town | Barrow | 4–2 | 12 December 2020 |
| Jordan Bowery | Mansfield Town | Port Vale | 4–0 | 2 January 2021 |
| Matt Jay | Exeter City | Leyton Orient | 4–0 | 6 March 2021 |
| Brendan Kiernan | Harrogate Town | Cambridge United | 5–4 | 30 April 2021 |

## Awards

| Award | Winner | Club |
| Player of the Season | Paul Mullin | Cambridge United |
EFL League Two Team of the season
| Pos. | Player | Club |
| GK | Václav Hladký | Salford City |
| DF | Kyle Knoyle | Cambridge United |
| DF | Will Boyle | Cheltenham Town |
| DF | Jordan Tunnicliffe | Crawley Town |
| DF | Ibou Touray | Salford City |
| MF | David Worrall | Port Vale |
| MF | Antoni Sarcevic | Bolton Wanderers |
| MF | Wes Hoolahan | Cambridge United |
| MF | Chris Hussey | Cheltenham Town |
| FW | Matt Jay | Exeter City |
| FW | Paul Mullin | Cambridge United |
| Manager | Michael Duff | Cheltenham Town |