# List of EFL League One seasons

This article lists seasons played in the third tier of English football from 2004–05, when the Football League Division Two was renamed the Football League One.

## Seasons

| Season | Champions | Champions | Runners-up | Runners-up | Play-off winners | Relegated from League One | Relegated to League One | Promoted to League One | Top goal scorers | Top goal scorers |
| Season | Club | Pts | Club | Pts | Club | Relegated from League One | Relegated to League One | Promoted to League One | Player | Goals |
| 2004–05 | Luton Town | 98 | Hull City | 86 | Sheffield Wednesday | Torquay United Wrexham Peterborough United Stockport County | Gillingham Nottingham Forest Rotherham United | Yeovil Town Scunthorpe United Swansea City Southend United | Dean Windass (Bradford City) & Stuart Elliott (Hull City) | 27 |
| 2005–06 | Southend United | 82 | Colchester United | 79 | Barnsley | Hartlepool United Milton Keynes Dons Swindon Town Walsall | Crewe Alexandra Millwall Brighton & Hove Albion | Carlisle United Northampton Town Leyton Orient Cheltenham Town | Freddy Eastwood (Southend United) & Billy Sharp (Scunthorpe United) | 23 |
| 2006–07 | Scunthorpe United | 91 | Bristol City | 85 | Blackpool | Chesterfield Bradford City Rotherham United Brentford | Southend United Luton Town Leeds United | Walsall Hartlepool United Swindon Town Bristol Rovers | Billy Sharp (Scunthorpe United) | 30 |
| 2007–08 | Swansea City | 92 | Nottingham Forest | 82 | Doncaster Rovers | Bournemouth Gillingham Port Vale Luton Town | Leicester City Scunthorpe United Colchester United | Milton Keynes Dons Peterborough United Hereford United Stockport County | Jason Scotland (Swansea City) | 24 |
| 2008–09 | Leicester City | 96 | Peterborough United | 89 | Scunthorpe United | Northampton Town Crewe Alexandra Cheltenham Town Hereford United | Norwich City Southampton Charlton Athletic | Brentford Exeter City Wycombe Wanderers Gillingham | Rickie Lambert (Bristol Rovers) & Simon Cox (Swindon Town) | 29 |
| 2009–10 | Norwich City | 95 | Leeds United | 86 | Millwall | Gillingham Wycombe Wanderers Southend United Stockport County | Sheffield Wednesday Plymouth Argyle Peterborough United | Notts County Bournemouth Rochdale Dagenham & Redbridge | Rickie Lambert (Southampton) | 30 |
| 2010–11 | Brighton & Hove Albion | 95 | Southampton | 92 | Peterborough United | Dagenham & Redbridge Bristol Rovers Plymouth Argyle Swindon Town | Preston North End Sheffield United Scunthorpe United | Chesterfield Bury Wycombe Wanderers Stevenage | Craig Mackail-Smith (Peterborough United) | 27 |
| 2011–12 | Charlton Athletic | 101 | Sheffield Wednesday | 93 | Huddersfield Town | Wycombe Wanderers Chesterfield Exeter City Rochdale | Portsmouth Coventry City Doncaster Rovers | Swindon Town Shrewsbury Town Crawley Town Crewe Alexandra | Jordan Rhodes (Huddersfield Town) | 36 |
| 2012–13 | Doncaster Rovers | 84 | Bournemouth | 83 | Yeovil Town | Scunthorpe United Bury Hartlepool United Portsmouth | Peterborough United Wolverhampton Wanderers Bristol City | Gillingham Rotherham United Port Vale Bradford City | Paddy Madden (Yeovil Town & Carlisle United) | 23 |
| 2013–14 | Wolverhampton Wanderers | 103 | Brentford | 94 | Rotherham United | Tranmere Rovers Carlisle United Shrewsbury Town Stevenage | Doncaster Rovers Barnsley Yeovil Town | Chesterfield Scunthorpe United Rochdale Fleetwood Town | Sam Baldock (Bristol City) | 24 |
| 2014–15 | Bristol City | 99 | Milton Keynes Dons | 91 | Preston North End | Notts County Crawley Town Leyton Orient Yeovil Town | Millwall Wigan Athletic Blackpool | Burton Albion Shrewsbury Town Bury Southend United | Joe Garner (Preston North End) | 25 |
| 2015–16 | Wigan Athletic | 87 | Burton Albion | 85 | Barnsley | Doncaster Rovers Blackpool Colchester United Crewe Alexandra | Charlton Athletic Milton Keynes Dons Bolton Wanderers | Northampton Town Oxford United Bristol Rovers AFC Wimbledon | Will Grigg (Wigan Athletic) | 25 |
| 2016–17 | Sheffield United | 100 | Bolton Wanderers | 86 | Millwall | Port Vale Swindon Town Coventry City Chesterfield | Blackburn Rovers Wigan Athletic Rotherham United | Portsmouth Plymouth Argyle Doncaster Rovers Blackpool | Billy Sharp (Sheffield United) | 30 |
| 2017–18 | Wigan Athletic | 98 | Blackburn Rovers | 96 | Rotherham United | Oldham Northampton Town Milton Keynes Dons Bury | Sunderland Burton Albion Barnsley | Accrington Stanley Luton Town Wycombe Wanderers Coventry City | Jack Marriott (Peterborough United) | 27 |
| 2018–19 | Luton Town | 94 | Barnsley | 91 | Charlton Athletic | Plymouth Argyle Walsall Scunthorpe United Bradford City | Rotherham United Bolton Wanderers Ipswich Town | Lincoln City Milton Keynes Dons Tranmere Rovers Bury | James Collins (Luton Town) | 25 |
| 2019–20 | Coventry City | 67 | Rotherham United | 62 | Wycombe Wanderers | Tranmere Rovers Southend United Bolton Wanderers Bury (expelled) | Charlton Athletic Wigan Athletic Hull City | Swindon Town Crewe Alexandra Plymouth Argyle Northampton Town | Ivan Toney (Peterborough United) | 24 |
| 2020–21 | Hull City | 89 | Peterborough United | 87 | Blackpool | Rochdale Northampton Town Swindon Town Bristol Rovers | Wycombe Wanderers Rotherham United Sheffield Wednesday | Cheltenham Town Cambridge United Bolton Wanderers Morecambe | Jonson Clarke-Harris (Peterborough United) | 31 |
| 2021–22 | Wigan Athletic | 92 | Rotherham United | 90 | Sunderland | Gillingham Doncaster Rovers AFC Wimbledon Crewe Alexandra | Peterborough United Derby County Barnsley | Forest Green Rovers Exeter City Bristol Rovers Port Vale | Will Keane (Wigan Athletic) | 26 |
| 2022–23 | Plymouth Argyle | 101 | Ipswich Town | 98 | Sheffield Wednesday | Milton Keynes Dons Morecambe Accrington Stanley Forest Green Rovers | Reading Blackpool Wigan Athletic | Leyton Orient Stevenage Northampton Town Carlisle United | Conor Chaplin (Ipswich Town) & Jonson Clarke-Harris (Peterborough United) | 26 |