# 2019–20 EFL League Two

The 2019–20 EFL League Two (referred to as the Sky Bet League Two for sponsorship reasons) was the 16th season of Football League Two under its current title and the 28th season under its current league division format. On 13 March 2020, the EFL, alongside the FA announced the suspension of all domestic football until 3 April due to the rapidly developing COVID-19 pandemic. On 3 April 2020, this suspension was extended indefinitely.
On 15 May 2020, the clubs voted to end the season with immediate effect with the final table being determined on a points-per-game basis. No decision was made as to promotion and relegation. The play-offs would be played as normal. The decision meant Swindon Town would be crowned champions and would be joined by Crewe Alexandra and Plymouth Argyle in League One the following season.

## Team changes

The following teams have changed division since the 2018–19 season.

### To League Two

Promoted from National League
* Leyton Orient
* Salford City
Relegated from League One
* Plymouth Argyle
* Walsall
* Scunthorpe United
* Bradford City

### From League Two

Promoted to League One
* Lincoln City
* Bury
* Milton Keynes Dons
* Tranmere Rovers
Relegated to National League
* Notts County
* Yeovil Town

## Stadiums

| Team | Location | Stadium | Capacity |
| 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 |
| Crewe Alexandra | Crewe | Gresty Road | 10,180 |
| Exeter City | Exeter | St. James Park | 8,696 |
| Forest Green Rovers | Nailsworth | The New Lawn | 5,147 |
| Grimsby Town | Cleethorpes | Blundell Park | 9,052 |
| Leyton Orient | London (Leyton) | Brisbane Road | 9,271 |
| Macclesfield Town | Macclesfield | Moss Rose | 6,355 |
| Mansfield Town | Mansfield | Field Mill | 10,000 |
| Morecambe | Morecambe | Globe Arena | 6,476 |
| Newport County | Newport | Rodney Parade | 7,850 |
| Northampton Town | Northampton | Sixfields Stadium | 7,653 |
| Oldham Athletic | Oldham | Boundary Park | 13,512 |
| Plymouth Argyle | Plymouth | Home Park | 18,600 |
| Port Vale | Burslem | Vale Park | 19,052 |
| Salford City | Salford | Moor Lane | 5,108 |
| Scunthorpe United | Scunthorpe | Glanford Park | 9,088 |
| Stevenage | Stevenage | Broadhall Way | 6,722 |
| Swindon Town | Swindon | County Ground | 15,728 |
| Walsall | Walsall | Bescot Stadium | 11,300 |

## Personnel and sponsoring

| Team | Manager | Captain | Kit manufacturer | Sponsor |
| Bradford City | Stuart McCall | James Vaughan | Avec Sport | JCT600 |
| Cambridge United | Mark Bonner | Greg Taylor | Hummel | Mick George |
| Carlisle United | Chris Beech | Adam Collin | Erreà | Edinburgh Woollen Mill |
| Cheltenham Town | Michael Duff | Ben Tozer | Erreà | Mira Showers |
| Colchester United | John McGreal | Luke Prosser | Macron | Texo Scaffolding (Home) JobServe (Away / Third) |
| Crawley Town | John Yems | Jimmy Smith | Erreà | The People's Pension |
| Crewe Alexandra | David Artell | Perry Ng | FBT | Mornflake |
| Exeter City | Matt Taylor | Jake Taylor | Joma | Flybe |
| Forest Green Rovers | Mark Cooper | Joseph Mills | PlayerLayer | Ecotricity |
| Grimsby Town | Ian Holloway | James McKeown | Erreà | Young's Seafood |
| Leyton Orient | Ross Embleton | Josh Coulson | New Balance | The Sun Dream Team |
| Macclesfield Town | Mark Kennedy | Fiacre Kelleher | Nike | Paddy Power (unbranded) |
| Mansfield Town | Graham Coughlan | Krystian Pearce | Surridge | One Call |
| Morecambe | Derek Adams | Barry Roche | Macron | Annapurna Recruitment |
| Newport County | Michael Flynn | Joss Labadie | FBT | Paddy Power (unbranded) |
| Northampton Town | Keith Curle | Charlie Goode | Nike | University of Northampton |
| Oldham Athletic | Dino Maamria | Mohamed Maouche | Hummel | Wakelet |
| Plymouth Argyle | Ryan Lowe | Gary Sawyer | Puma | Ginsters |
| Port Vale | John Askey | Leon Legge | Erreà | Synectics Solutions |
| Salford City | Graham Alexander | Liam Hogan | Kappa | Soccer Saturday Super 6 |
| Scunthorpe United | Russ Wilcox | Andy Butler | FBT | Utilita Energy |
| Stevenage | Alex Revell | Scott Cuthbert | Macron | Burger King |
| Swindon Town | Richie Wellens | Dion Conroy | Puma | Imagine Cruising ( home / away) Darby Rimmer MND Foundation (Third) |
| Walsall | Darrell Clarke | James Clarke | Erreà | HomeServe |
* 1 2 The shirts of Macclesfield Town and Newport County do not display Paddy Power's logo as part of the bookmakers "Save Our Shirt" campaign.

## Managerial changes

| Team | Outgoing manager | Manner of departure | Date of vacancy | Position in table | Incoming manager | Date of appointment |
| Walsall | Martin O'Connor | End of caretaker spell | 4 May 2019 | Pre-season | Darrell Clarke | 10 May 2019 |
| Scunthorpe United | Andy Dawson | End of caretaker spell | 4 May 2019 | Pre-season | Paul Hurst | 13 May 2019 |
| Plymouth Argyle | Kevin Nancekivell | End of caretaker spell | 4 May 2019 | Pre-season | Ryan Lowe | 5 June 2019 |
| Oldham Athletic | Pete Wild | Resigned | 4 May 2019 | Pre-season | Laurent Banide | 11 June 2019 |
| Mansfield Town | David Flitcroft | Sacked | 14 May 2019 | Pre-season | John Dempster | 14 May 2019 |
| Leyton Orient | Justin Edinburgh | Deceased | 8 June 2019 | Pre-season | Carl Fletcher | 16 October 2019 |
| Macclesfield Town | Sol Campbell | Mutual consent | 15 August 2019 | 8th | Daryl McMahon | 19 August 2019 |
| Stevenage | Dino Maamria | Sacked | 9 September 2019 | 23rd | Graham Westley | 15 December 2019 |
| Oldham Athletic | Laurent Banide | Sacked | 19 September 2019 | 21st | Dino Maamria | 19 September 2019 |
| Morecambe | Jim Bentley | Signed by AFC Fylde | 28 October 2019 | 24th | Derek Adams | 7 November 2019 |
| Carlisle United | Steven Pressley | Sacked | 13 November 2019 | 19th | Chris Beech | 26 November 2019 |
| Leyton Orient | Carl Fletcher | Sacked | 14 November 2019 | 16th | Ross Embleton | 7 January 2020 |
| Grimsby Town | Michael Jolley | Mutual consent | 15 November 2019 | 18th | Ian Holloway | 31 December 2019 |
| Crawley Town | Gabriele Cioffi | Sacked | 2 December 2019 | 17th | John Yems | 5 December 2019 |
| Mansfield Town | John Dempster | Sacked | 14 December 2019 | 18th | Graham Coughlan | 17 December 2019 |
| Macclesfield Town | Daryl McMahon | Resigned | 2 January 2020 | 22nd | Mark Kennedy | 16 January 2020 |
| Cambridge United | Colin Calderwood | Sacked | 29 January 2020 | 16th | Mark Bonner | 9 March 2020 |
| Scunthorpe United | Paul Hurst | Sacked | 29 January 2020 | 19th | Russ Wilcox | 12 February 2020 |
| Bradford City | Gary Bowyer | Sacked | 3 February 2020 | 8th | Stuart McCall | 4 February 2020 |
| Stevenage | Graham Westley | Sacked | 16 February 2020 | 24th | Alex Revell | 16 February 2020 |

## League table

| Pos | Teamvte | Pld | W | D | L | GF | GA | GD | Pts | PPG | Promotion, qualification or relegation |
| 1 | Swindon Town (C, P) | 36 | 21 | 6 | 9 | 62 | 39 | +23 | 69 | 1.92 | Promotion to EFL League One |
| 2 | Crewe Alexandra (P) | 37 | 20 | 9 | 8 | 67 | 43 | +24 | 69 | 1.86 | Promotion to EFL League One |
| 3 | Plymouth Argyle (P) | 37 | 20 | 8 | 9 | 61 | 39 | +22 | 68 | 1.84 | Promotion to EFL League One |
| 4 | Cheltenham Town | 36 | 17 | 13 | 6 | 52 | 27 | +25 | 64 | 1.78 | Qualification for League Two play-offs |
| 5 | Exeter City | 37 | 18 | 11 | 8 | 53 | 43 | +10 | 65 | 1.76 | Qualification for League Two play-offs |
| 6 | Colchester United | 37 | 15 | 13 | 9 | 52 | 37 | +15 | 58 | 1.57 | Qualification for League Two play-offs |
| 7 | Northampton Town (O, P) | 37 | 17 | 7 | 13 | 54 | 40 | +14 | 58 | 1.57 | Qualification for League Two play-offs |
| 8 | Port Vale | 37 | 14 | 15 | 8 | 50 | 44 | +6 | 57 | 1.54 | |
| 9 | Bradford City | 37 | 14 | 12 | 11 | 44 | 40 | +4 | 54 | 1.46 | |
| 10 | Forest Green Rovers | 36 | 13 | 10 | 13 | 43 | 40 | +3 | 49 | 1.36 | |
| 11 | Salford City | 37 | 13 | 11 | 13 | 49 | 46 | +3 | 50 | 1.35 | |
| 12 | Walsall | 36 | 13 | 8 | 15 | 40 | 49 | −9 | 47 | 1.31 | |
| 13 | Crawley Town | 37 | 11 | 15 | 11 | 51 | 47 | +4 | 48 | 1.30 | |
| 14 | Newport County | 36 | 12 | 10 | 14 | 32 | 39 | −7 | 46 | 1.28 | |
| 15 | Grimsby Town | 37 | 12 | 11 | 14 | 45 | 51 | −6 | 47 | 1.27 | |
| 16 | Cambridge United | 37 | 12 | 9 | 16 | 40 | 48 | −8 | 45 | 1.22 | |
| 17 | Leyton Orient | 36 | 10 | 12 | 14 | 47 | 55 | −8 | 42 | 1.17 | |
| 18 | Carlisle United | 37 | 10 | 12 | 15 | 39 | 56 | −17 | 42 | 1.14 | |
| 19 | Oldham Athletic | 37 | 9 | 14 | 14 | 44 | 57 | −13 | 41 | 1.11 | |
| 20 | Scunthorpe United | 37 | 10 | 10 | 17 | 44 | 56 | −12 | 40 | 1.08 | |
| 21 | Mansfield Town | 36 | 9 | 11 | 16 | 48 | 55 | −7 | 38 | 1.06 | |
| 22 | Morecambe | 37 | 7 | 11 | 19 | 35 | 60 | −25 | 32 | 0.86 | |
| 23 | Stevenage | 36 | 3 | 13 | 20 | 24 | 50 | −26 | 22 | 0.61 | Reprieved from relegation |
| 24 | Macclesfield Town (R) | 37 | 7 | 15 | 15 | 32 | 47 | −15 | 19 | 0.51 | Relegation to the National League |
* ↑ Four teams play for one spot and promotion to EFL League One.
* ↑ As a result of Bury's expulsion from League One, only one team is relegated to maintain League Two at 24 teams.
* 1 2 Macclesfield Town deducted four points for failing to both pay their players' wages and to fulfil a fixture, reduced from six points after appeal. A further seven-point deduction was given for failing to play December's match against Plymouth Argyle. A further two-point deduction was given for breaches of regulations over non-payment of wages. On 3 July the EFL appealed against the independent disciplinary panel's sanctions on Macclesfield. A further four points were deducted on 11 August 2020, resulting in Macclesfield Town being relegated. Stevenage reprieved

## Play-offs

| Semi-finals | Semi-finals | Semi-finals | Semi-finals | Semi-finals | Final | Final | Final |
| 4 | Cheltenham Town | 2 | 0 | 2 | | | |
| 7 | Northampton Town | 0 | 3 | 3 | | | |
| 7 | Northampton Town | 0 | 3 | 3 | 7 | Northampton Town | 4 |
| | | | | | 5 | Exeter City | 0 |
| 5 | Exeter City | 0 | 3 | 3 | 5 | Exeter City | 0 |
| 6 | Colchester United | 1 | 1 | 2 | | | |

## Results

| Home \ Away | BRA | CAM | CAR | CHE | COL | CRA | CRE | EXE | FGR | GRI | LEY | MAC | MAN | MOR | NEW | NOR | OLD | PLY | POR | SAL | SCU | STE | SWI | WAL |
| Bradford City | — | 0–0 | 3–1 | 1–1 | | 2–1 | | 2–0 | 0–1 | 1–1 | | | 2–0 | 1–0 | 1–0 | 2–1 | 3–0 | 2–1 | 1–2 | 1–1 | 2–2 | 3–1 | 2–1 | |
| Cambridge United | 2–1 | — | 1–2 | | 2–1 | 2–1 | | 4–0 | 0–1 | 0–0 | 2–3 | 2–2 | 2–3 | 1–0 | 0–0 | | 1–2 | 1–0 | | 0–4 | 3–2 | 0–4 | 0–1 | |
| Carlisle United | 0–0 | 0–0 | — | 0–1 | 0–3 | 2–1 | 2–4 | 1–3 | 0–0 | 0–0 | | 2–1 | 0–2 | 2–2 | 2–0 | 0–2 | 1–0 | 0–3 | | 2–2 | | | 1–1 | 2–1 |
| Cheltenham Town | 3–2 | 1–1 | 2–0 | — | 1–1 | | 1–1 | | 1–2 | | 2–1 | 3–0 | 1–0 | 2–1 | | 2–1 | 3–0 | 0–1 | 0–0 | | 4–1 | 4–2 | 2–2 | 3–1 |
| Colchester United | 0–0 | 1–2 | 3–0 | 0–2 | — | 1–1 | | 2–2 | | 2–3 | 2–1 | 2–1 | | 0–1 | 3–1 | 1–0 | | 3–0 | 1–1 | 1–0 | | 3–1 | 3–1 | 0–0 |
| Crawley Town | 2–1 | | 0–0 | 1–0 | 2–1 | — | 1–2 | 0–1 | 1–1 | 3–2 | | | 1–0 | 1–1 | | 4–0 | 3–0 | 2–2 | 0–0 | 2–0 | 3–1 | 2–0 | 0–4 | 2–3 |
| Crewe Alexandra | 2–1 | 2–3 | 4–1 | 1–0 | 0–0 | 2–1 | — | 1–1 | | | 2–0 | 2–0 | 1–1 | 5–0 | | | 2–1 | 0–3 | 0–1 | 4–1 | 3–1 | 3–1 | 3–1 | 1–0 |
| Exeter City | | 2–0 | | 0–0 | 0–0 | 1–1 | 1–1 | — | 1–0 | 1–3 | 2–2 | 1–0 | 1–0 | | 1–0 | 3–2 | 5–1 | 4–0 | 2–0 | | | 2–1 | 1–1 | 3–3 |
| Forest Green Rovers | | | 1–4 | | 1–0 | 3–1 | 0–0 | 0–1 | — | 1–0 | | 1–0 | 2–2 | | 0–2 | | 1–0 | 0–1 | 2–3 | 1–2 | 0–2 | 0–0 | 2–2 | 1–2 |
| Grimsby Town | 1–1 | | | 0–0 | 2–2 | 1–1 | 0–2 | 0–1 | 2–2 | — | 0–4 | 1–0 | 0–1 | 2–1 | 4–2 | 0–3 | | | 5–2 | 1–0 | 0–1 | 3–1 | 0–3 | |
| Leyton Orient | 0–0 | 2–1 | 1–1 | 1–0 | 1–3 | 2–3 | 1–2 | | 2–4 | 1–1 | — | 1–1 | 2–1 | | 2–1 | 1–1 | 2–2 | | 3–3 | | 0–2 | 0–0 | 1–3 | 3–1 |
| Macclesfield Town | 1–1 | 1–0 | | | 1–1 | 1–1 | 1–1 | 2–3 | 2–1 | 1–1 | 3–0 | — | 0–0 | 0–1 | 1–1 | 0–1 | 1–1 | 1–1 | 2–1 | 0–2 | 1–0 | | | |
| Mansfield Town | 3–0 | 0–4 | 2–2 | 0–3 | 2–3 | | | | 3–4 | 0–1 | 2–3 | | — | 2–2 | 1–0 | 1–1 | 6–1 | 0–1 | 2–2 | 1–2 | 2–0 | 0–0 | | |
| Morecambe | 1–2 | 1–1 | 1–1 | 0–0 | 1–1 | | 1–1 | 2–3 | 0–2 | 0–2 | 1–0 | 2–0 | 1–1 | — | 2–1 | 2–2 | 1–2 | | 2–1 | 2–2 | | | | 0–1 |
| Newport County | 2–1 | 0–1 | 1–0 | 1–1 | | 1–1 | 1–0 | 1–1 | | | 1–1 | 1–0 | 2–2 | 1–0 | — | | 0–1 | 1–0 | 1–0 | 1–2 | 2–1 | 1–1 | 2–0 | 0–0 |
| Northampton Town | | 2–0 | | 1–1 | | 2–2 | 4–1 | 2–0 | 1–0 | 2–0 | 0–1 | 1–2 | 1–2 | 4–1 | 2–0 | — | | 3–1 | 0–1 | 2–0 | 3–0 | 1–0 | 0–1 | 0–1 |
| Oldham Athletic | 3–0 | | 1–1 | 1–1 | 0–1 | 2–1 | 1–2 | 0–0 | 1–1 | 2–2 | 1–1 | 0–1 | 3–1 | 3–1 | 5–0 | 2–2 | — | | | 1–4 | 0–2 | | | 2–0 |
| Plymouth Argyle | 2–1 | 0–0 | 2–0 | 0–2 | 1–0 | 2–2 | 2–1 | | | 3–0 | 4–0 | 3–0 | 3–1 | 3–0 | 1–0 | | 2–2 | — | | 2–2 | 2–2 | 2–1 | 1–2 | 3–0 |
| Port Vale | | 1–0 | 2–1 | 1–1 | 3–0 | | | 3–1 | 2–1 | | 1–0 | 2–2 | 2–2 | 3–1 | | 1–1 | 0–0 | 1–0 | — | 1–1 | 2–2 | 1–1 | 2–0 | 0–1 |
| Salford City | 2–0 | 1–0 | | 0–2 | 1–2 | 0–0 | 3–1 | 0–1 | 0–4 | 1–0 | 1–1 | 0–0 | | | | 1–2 | 1–1 | 2–3 | 1–1 | — | 1–1 | 2–0 | 2–3 | 1–2 |
| Scunthorpe United | 1–1 | 0–2 | 0–1 | 1–0 | 2–2 | 2–2 | 2–2 | 3–1 | 1–0 | 0–2 | | | | 3–0 | 1–2 | 3–0 | 2–2 | 1–3 | 2–1 | | — | 0–0 | 0–2 | 0–2 |
| Stevenage | 0–1 | 1–1 | 2–3 | | 0–0 | 0–0 | 1–5 | 0–1 | 0–0 | 2–1 | 0–3 | 2–2 | | 1–0 | | 0–1 | 0–0 | 1–2 | 0–1 | 0–1 | | — | | |
| Swindon Town | 1–1 | 4–0 | 3–2 | | 0–3 | | 3–1 | 2–1 | 0–2 | 3–1 | | 3–0 | 1–0 | 3–1 | 0–2 | 0–1 | 2–0 | 1–1 | 3–0 | | 2–0 | 1–0 | — | 2–1 |
| Walsall | 0–1 | 2–1 | 1–2 | 1–2 | | 2–1 | 1–2 | 3–1 | 1–1 | 1–3 | 1–0 | 1–1 | 1–2 | 0–2 | 0–0 | 3–2 | | | 2–2 | 0–3 | 1–0 | 0–0 | | — |

## Season statistics
### Top scorers

    As of 7 March 2020
| Rank | Player | Club | Goals |
| 1 | Eoin Doyle | Swindon Town | 25 |
| 2 | Nicky Maynard | Mansfield Town | 14 |
| 3 | Ryan Bowman | Exeter City | 13 |
| 3 | Ollie Palmer | Crawley Town | 13 |
| 3 | Jerry Yates | Swindon Town | 13 |
| 6 | Bez Lubala | Crawley Town | 12 |
| 6 | Chris Porter | Crewe Alexandra | 12 |
| 8 | Theo Robinson | Colchester United | 11 |
| 8 | Danny Rose | Mansfield Town | 11 |
| 8 | James Vaughan | Bradford City | 11 |
| 11 | Antoni Sarcevic | Plymouth Argyle | 10 |
| 11 | Kevin van Veen | Scunthorpe United | 10 |

### Hat-tricks

| Player | For | Against | Result | Date |
| Nicky Maynard | Mansfield Town | Oldham Athletic | 6–1 (H) | 12 October 2019 |
| Eoin Doyle | Swindon Town | Crawley Town | 4–0 (A) | 26 October 2019 |
| Keshi Anderson | Swindon Town | Cambridge United | 4–0 (H) | 26 December 2019 |
| Nicky Maynard | Mansfield Town | Cambridge United | 3–2 (A) | 1 January 2020 |