Omit day and month for end of season table.
| Pos | Team | Pld | W | D | L | GF | GA | GD | Pts |
|---|---|---|---|---|---|---|---|---|---|
| Leeds United | 46 | 28 | 9 | 9 | 77 | 35 | 42 | 93 | |
| West Bromwich Albion | 46 | 22 | 17 | 7 | 77 | 45 | 32 | 83 | |
| Brentford | 46 | 24 | 9 | 13 | 80 | 38 | 42 | 81 | |
| Fulham | 46 | 23 | 12 | 11 | 64 | 48 | 16 | 81 | |
| Cardiff City | 46 | 19 | 16 | 11 | 68 | 58 | 10 | 73 | |
| Swansea City | 46 | 18 | 16 | 12 | 62 | 53 | 9 | 70 | |
| Nottingham Forest | 46 | 18 | 16 | 12 | 58 | 50 | 8 | 70 | |
| Millwall | 46 | 17 | 17 | 12 | 57 | 51 | 6 | 68 | |
| Preston North End | 46 | 18 | 12 | 16 | 59 | 54 | 5 | 66 | |
| Derby County | 46 | 17 | 13 | 16 | 62 | 64 | -2 | 64 | |
| Blackburn Rovers | 46 | 17 | 12 | 17 | 66 | 63 | 3 | 63 | |
| Bristol City | 46 | 17 | 12 | 17 | 60 | 65 | -5 | 63 | |
| Queens Park Rangers | 46 | 16 | 10 | 20 | 67 | 76 | -9 | 58 | |
| Reading | 46 | 15 | 11 | 20 | 59 | 58 | 1 | 56 | |
| Stoke City | 46 | 16 | 8 | 22 | 62 | 68 | -6 | 56 | |
| Sheffield Wednesday | 46 | 15 | 11 | 20 | 58 | 66 | -8 | 56 | |
| Middlesbrough | 46 | 13 | 14 | 19 | 48 | 61 | -13 | 53 | |
| Huddersfield Town | 46 | 13 | 12 | 21 | 52 | 70 | -18 | 51 | |
| Luton Town | 46 | 14 | 9 | 23 | 54 | 82 | -28 | 51 | |
| Birmingham City | 46 | 12 | 14 | 20 | 54 | 75 | -21 | 50 | |
| Barnsley | 46 | 12 | 13 | 21 | 49 | 69 | -20 | 49 | |
| Charlton Athletic | 46 | 12 | 12 | 22 | 50 | 65 | -15 | 48 | |
| Wigan Athletic | 46 | 15 | 14 | 17 | 57 | 56 | 1 | 47 | |
| Hull City | 46 | 12 | 9 | 25 | 57 | 87 | -30 | 45 |
| 22 Jul 2020 | Wigan Athletic were deducted 12 points by the Football League on 22 July 2020 due to entering administration on 1 July 2020 |
| 26 Jul 2020 | Swansea City 1-0 Brentford | |
| 27 Jul 2020 | Cardiff City 0-2 Fulham | |
| 29 Jul 2020 | Brentford 3-1 Swansea City | |
| 30 Jul 2020 | Fulham 1-2 Cardiff City | |
| 04 Aug 2020 | Brentford 1-2 Fulham |