Season
|
Champions
|
Runners-up
|
Play-off winners
|
Relegated to League One
|
Relegated from Premier League
|
Promoted from League One
|
Top goal scorers
|
Club
|
Pts
|
Club
|
Pts
|
Club
|
Player
|
Goals
|
1992–93
|
Newcastle United
|
96
|
West Ham United
|
88
|
Swindon Town
|
Brentford Cambridge United Bristol Rovers
|
Crystal Palace Middlesbrough Nottingham Forest
|
Stoke City Bolton Wanderers West Bromwich Albion
|
Guy Whittingham (Portsmouth)
|
42
|
1993–94
|
Crystal Palace
|
90
|
Nottingham Forest
|
83
|
Leicester City
|
Birmingham City Oxford United Peterborough United
|
Sheffield United Oldham Athletic Swindon Town
|
Reading Port Vale Burnley
|
John McGinlay (Bolton Wanderers)
|
25
|
1994–95
|
Middlesbrough
|
82
|
Reading
|
78
|
Bolton Wanderers
|
Swindon Town Burnley Bristol City Notts County
|
Crystal Palace Norwich City Leicester City Ipswich Town
|
Birmingham City Huddersfield Town
|
John Aldridge (Tranmere Rovers)
|
24
|
1995–96
|
Sunderland
|
83
|
Derby County
|
79
|
Leicester City
|
Millwall Watford Luton Town
|
Manchester City Queens Park Rangers Bolton Wanderers
|
Swindon Town Oxford United Bradford City
|
John Aldridge (Tranmere Rovers)
|
27
|
1996–97
|
Bolton Wanderers
|
98
|
Barnsley
|
80
|
Crystal Palace
|
Grimsby Town Oldham Athletic Southend United
|
Sunderland Middlesbrough Nottingham Forest
|
Bury Stockport County Crewe Alexandra
|
John McGinlay (Bolton Wanderers)
|
27
|
1997–98
|
Nottingham Forest
|
94
|
Middlesbrough
|
91
|
Charlton Athletic
|
Manchester City Stoke City Reading
|
Bolton Wanderers Barnsley Crystal Palace
|
Watford Bristol City Grimsby Town
|
Pierre van Hooijdonk (Nottingham Forest) Kevin Phillips (Sunderland)
|
29
|
1998–99
|
Sunderland
|
105
|
Bradford City
|
87
|
Watford
|
Bury Oxford United Bristol City
|
Charlton Athletic Blackburn Rovers Nottingham Forest
|
Fulham Walsall Manchester City
|
Lee Hughes (West Bromwich Albion)
|
31
|
1999–2000
|
Charlton Athletic
|
91
|
Manchester City
|
89
|
Ipswich Town
|
Walsall Port Vale Swindon Town
|
Wimbledon Sheffield Wednesday Watford
|
Preston North End Burnley Gillingham
|
Andy Hunt (Charlton Athletic)
|
24
|
2000–01
|
Fulham
|
101
|
Blackburn Rovers
|
91
|
Bolton Wanderers
|
Huddersfield Town Queens Park Rangers Tranmere Rovers
|
Manchester City Coventry City Bradford City
|
Millwall Rotherham United Walsall
|
Louis Saha (Fulham)
|
27
|
2001–02
|
Manchester City
|
99
|
West Bromwich Albion
|
89
|
Birmingham City
|
Crewe Alexandra Barnsley Stockport County
|
Ipswich Town Derby County Leicester City
|
Brighton & Hove Albion Reading Stoke City
|
Shaun Goater (Manchester City)
|
28
|
2002–03
|
Portsmouth
|
98
|
Leicester City
|
92
|
Wolverhampton Wanderers
|
Sheffield Wednesday Brighton & Hove Albion Grimsby Town
|
West Ham United West Bromwich Albion Sunderland
|
Wigan Athletic Crewe Alexandra Cardiff City
|
Svetoslav Todorov (Portsmouth)
|
26
|
2003–04
|
Norwich City
|
94
|
West Bromwich Albion
|
86
|
Crystal Palace
|
Walsall Bradford City Wimbledon
|
Leicester City Leeds United Wolves
|
Plymouth Argyle Queens Park Rangers Brighton & Hove Albion
|
Andrew Johnson (Crystal Palace)
|
27
|
Football League Championship
|
2004–05
|
Sunderland
|
94
|
Wigan Athletic
|
87
|
West Ham United
|
Gillingham Nottingham Forest Rotherham United
|
Crystal Palace Norwich City Southampton
|
Luton Town Hull City Sheffield Wednesday
|
Nathan Ellington (Wigan Athletic)
|
24
|
2005–06
|
Reading
|
106
|
Sheffield United
|
90
|
Watford
|
Crewe Alexandra Millwall Brighton & Hove Albion
|
Birmingham City West Bromwich Albion Sunderland
|
Southend United Colchester United Barnsley
|
Marlon King (Watford)
|
21
|
2006–07
|
Sunderland
|
88
|
Birmingham City
|
86
|
Derby County
|
Southend United Luton Town Leeds United
|
Sheffield United Charlton Athletic Watford
|
Scunthorpe United Bristol City Blackpool
|
Jamie Cureton (Colchester United)
|
23
|
2007–08
|
West Bromwich Albion
|
81
|
Stoke City
|
79
|
Hull City
|
Leicester City Scunthorpe United Colchester United
|
Reading Birmingham City Derby County
|
Swansea City Nottingham Forest Doncaster Rovers
|
Sylvan Ebanks-Blake (Plymouth Argyle/Wolverhampton Wanderers)
|
23
|
2008–09
|
Wolverhampton Wanderers
|
90
|
Birmingham City
|
83
|
Burnley
|
Norwich City Southampton Charlton Athletic
|
Newcastle United Middlesbrough West Bromwich Albion
|
Leicester City Peterborough United Scunthorpe United
|
Sylvan Ebanks-Blake (Wolverhampton Wanderers)
|
25
|
2009–10
|
Newcastle United
|
102
|
West Bromwich Albion
|
91
|
Blackpool
|
Sheffield Wednesday Plymouth Argyle Peterborough United
|
Hull City Burnley Portsmouth
|
Norwich City Leeds United Millwall
|
Nicky Maynard (Bristol City) Peter Whittingham (Cardiff City)
|
20
|
2010–11
|
Queens Park Rangers
|
88
|
Norwich City
|
84
|
Swansea City
|
Preston North End Scunthorpe United Sheffield United
|
Birmingham City Blackpool West Ham United
|
Brighton & Hove Albion Southampton Peterborough United
|
Danny Graham (Watford)
|
24
|
2011–12
|
Reading
|
89
|
Southampton
|
88
|
West Ham United
|
Portsmouth Coventry City Doncaster Rovers
|
Bolton Wanderers Blackburn Rovers Wolves
|
Charlton Athletic Sheffield Wednesday Huddersfield Town
|
Rickie Lambert
|
27
|
2012–13
|
Cardiff City
|
87
|
Hull City
|
79
|
Crystal Palace
|
Peterborough United Wolves Bristol City
|
Reading Queens Park Rangers Wigan Athletic
|
Bournemouth Doncaster Rovers Yeovil Town
|
Glenn Murray (Crystal Palace)
|
30
|
2013–14
|
Leicester City
|
102
|
Burnley
|
93
|
Queens Park Rangers
|
Yeovil Town Barnsley Doncaster Rovers
|
Cardiff City Fulham Norwich City
|
Wolves Brentford Rotherham United
|
Ross McCormack (Leeds United)
|
28
|
2014–15
|
AFC Bournemouth
|
90
|
Watford
|
89
|
Norwich City
|
Millwall Wigan Athletic Blackpool
|
Hull City Burnley Queens Park Rangers
|
Bristol City Milton Keynes Dons Preston North End
|
Daryl Murphy (Ipswich Town)
|
27
|
2015–16
|
Burnley
|
93
|
Middlesbrough
|
89
|
Hull City
|
Charlton Athletic Milton Keynes Dons Bolton Wanderers
|
Newcastle United Norwich City Aston Villa
|
Wigan Athletic Burton Albion Barnsley
|
Andre Gray (Burnley)
|
25
|
2016–17
|
Newcastle United
|
94
|
Brighton & Hove Albion
|
93
|
Huddersfield Town
|
Blackburn Rovers Wigan Athletic Rotherham United
|
Hull City Middlesbrough Sunderland
|
Sheffield United Bolton Wanderers Millwall
|
Chris Wood (Leeds United)
|
27
|
2017–18
|
Wolverhampton Wanderers
|
99
|
Cardiff City
|
90
|
Fulham
|
Barnsley Burton Albion Sunderland
|
Swansea City Stoke City West Bromwich Albion
|
Wigan Athletic Blackburn Rovers Rotherham United
|
Matěj Vydra (Derby County)
|
21
|
2018–19
|
Norwich City
|
94
|
Sheffield United
|
89
|
Aston Villa
|
Rotherham United Bolton Wanderers Ipswich Town
|
Cardiff City Fulham Huddersfield Town
|
Luton Town Barnsley Charlton Athletic
|
Teemu Pukki (Norwich City)
|
29
|
2019–20
|
Leeds United
|
93
|
West Bromwich Albion
|
83
|
Fulham
|
Charlton Athletic Wigan Athletic Hull City
|
Watford Bournemouth Norwich City
|
Coventry City Rotherham United Wycombe Wanderers
|
Aleksandar Mitrović (Fulham) Ollie Watkins (Brentford)
|
26
|
2020–21
|
Norwich City
|
97
|
Watford
|
91
|
Brentford
|
Wycombe Wanderers Rotherham United Sheffield Wednesday
|
Fulham West Bromwich Albion Sheffield United
|
Hull City Peterborough United Blackpool
|
Ivan Toney (Brentford)
|
31
|
2021–22
|
Fulham
|
90
|
Bournemouth
|
88
|
Nottingham Forest
|
Peterborough United Derby County Barnsley
|
Burnley Watford Norwich City
|
Wigan Athletic Rotherham United Sunderland
|
Aleksandar Mitrović (Fulham)
|
43
|
2022–23
|
Burnley
|
101
|
Sheffield United
|
91
|
Luton Town
|
Reading Blackpool Wigan Athletic
|
Leicester City Leeds United Southampton
|
Plymouth Argyle Ipswich Town Sheffield Wednesday
|
Chuba Akpom (Middlesbrough)
|
28
|