# 1948–49 in English football

The 1948–49 season was the 69th season of competitive football in England.

## Overview

Portsmouth won the First Division title for the first time with a team of no recognised stars and very few international players. However, it was not the first major honour for the Hampshire club, as they had been the last winners of the FA Cup before the outbreak of the war. They would retain their league title the following season.
Wolverhampton Wanderers, under manager Stan Cullis and captain Billy Wright, won their first major trophy for more than 40 years when they beat Leicester City 3-1 in the final of the FA Cup. This was the beginning of a great run of success for the West Midlands side.

## Honours

| Competition | Winner | Runner-up |
| First Division | Portsmouth (1) | Manchester United |
| Second Division | Fulham | West Bromwich Albion |
| Third Division North | Hull City | Rotherham United |
| Third Division South | Swansea City | Reading |
| FA Cup | Wolverhampton Wanderers (3) | Leicester City |
| Charity Shield | Arsenal | Manchester United |
| Home Championship | Scotland | England |
Notes = Number in parentheses is the times that club has won that honour. * indicates new record for competition

## Football League
### First Division

| Pos | Team | Pld | W | D | L | GF | GA | GR | Pts | Qualification or relegation |
| 1 | Portsmouth | 42 | 25 | 8 | 9 | 84 | 42 | 2.000 | 58 | |
| 2 | Manchester United | 42 | 21 | 11 | 10 | 77 | 44 | 1.750 | 53 | |
| 3 | Derby County | 42 | 22 | 9 | 11 | 74 | 55 | 1.345 | 53 | |
| 4 | Newcastle United | 42 | 20 | 12 | 10 | 70 | 56 | 1.250 | 52 | |
| 5 | Arsenal | 42 | 18 | 13 | 11 | 74 | 44 | 1.682 | 49 | |
| 6 | Wolverhampton Wanderers | 42 | 17 | 12 | 13 | 79 | 66 | 1.197 | 46 | |
| 7 | Manchester City | 42 | 15 | 15 | 12 | 47 | 51 | 0.922 | 45 | |
| 8 | Sunderland | 42 | 13 | 17 | 12 | 49 | 58 | 0.845 | 43 | |
| 9 | Charlton Athletic | 42 | 15 | 12 | 15 | 63 | 67 | 0.940 | 42 | |
| 10 | Aston Villa | 42 | 16 | 10 | 16 | 60 | 76 | 0.789 | 42 | |
| 11 | Stoke City | 42 | 16 | 9 | 17 | 66 | 68 | 0.971 | 41 | |
| 12 | Liverpool | 42 | 13 | 14 | 15 | 53 | 43 | 1.233 | 40 | |
| 13 | Chelsea | 42 | 12 | 14 | 16 | 69 | 68 | 1.015 | 38 | |
| 14 | Bolton Wanderers | 42 | 14 | 10 | 18 | 59 | 68 | 0.868 | 38 | |
| 15 | Burnley | 42 | 12 | 14 | 16 | 43 | 50 | 0.860 | 38 | |
| 16 | Blackpool | 42 | 11 | 16 | 15 | 54 | 67 | 0.806 | 38 | |
| 17 | Birmingham City | 42 | 11 | 15 | 16 | 36 | 38 | 0.947 | 37 | |
| 18 | Everton | 42 | 13 | 11 | 18 | 41 | 63 | 0.651 | 37 | |
| 19 | Middlesbrough | 42 | 11 | 12 | 19 | 46 | 57 | 0.807 | 34 | |
| 20 | Huddersfield Town | 42 | 12 | 10 | 20 | 40 | 69 | 0.580 | 34 | |
| 21 | Preston North End | 42 | 11 | 11 | 20 | 62 | 75 | 0.827 | 33 | Relegated to the Second Division |
| 22 | Sheffield United | 42 | 11 | 11 | 20 | 57 | 78 | 0.731 | 33 | Relegated to the Second Division |

### Second Division

| Pos | Team | Pld | W | D | L | GF | GA | GR | Pts | Qualification or relegation |
| 1 | Fulham | 42 | 24 | 9 | 9 | 77 | 37 | 2.081 | 57 | Promoted to the First Division |
| 2 | West Bromwich Albion | 42 | 24 | 8 | 10 | 69 | 39 | 1.769 | 56 | Promoted to the First Division |
| 3 | Southampton | 42 | 23 | 9 | 10 | 69 | 36 | 1.917 | 55 | |
| 4 | Cardiff City | 42 | 19 | 13 | 10 | 62 | 47 | 1.319 | 51 | |
| 5 | Tottenham Hotspur | 42 | 17 | 16 | 9 | 72 | 44 | 1.636 | 50 | |
| 6 | Chesterfield | 42 | 15 | 17 | 10 | 51 | 45 | 1.133 | 47 | |
| 7 | West Ham United | 42 | 18 | 10 | 14 | 56 | 58 | 0.966 | 46 | |
| 8 | Sheffield Wednesday | 42 | 15 | 13 | 14 | 63 | 56 | 1.125 | 43 | |
| 9 | Barnsley | 42 | 14 | 12 | 16 | 62 | 61 | 1.016 | 40 | |
| 10 | Luton Town | 42 | 14 | 12 | 16 | 55 | 57 | 0.965 | 40 | |
| 11 | Grimsby Town | 42 | 15 | 10 | 17 | 72 | 76 | 0.947 | 40 | |
| 12 | Bury | 42 | 17 | 6 | 19 | 67 | 76 | 0.882 | 40 | |
| 13 | Queens Park Rangers | 42 | 14 | 11 | 17 | 44 | 62 | 0.710 | 39 | |
| 14 | Blackburn Rovers | 42 | 15 | 8 | 19 | 53 | 63 | 0.841 | 38 | |
| 15 | Leeds United | 42 | 12 | 13 | 17 | 55 | 63 | 0.873 | 37 | |
| 16 | Coventry City | 42 | 15 | 7 | 20 | 55 | 64 | 0.859 | 37 | |
| 17 | Bradford Park Avenue | 42 | 13 | 11 | 18 | 65 | 78 | 0.833 | 37 | |
| 18 | Brentford | 42 | 11 | 14 | 17 | 42 | 53 | 0.792 | 36 | |
| 19 | Leicester City | 42 | 10 | 16 | 16 | 62 | 79 | 0.785 | 36 | |
| 20 | Plymouth Argyle | 42 | 12 | 12 | 18 | 49 | 64 | 0.766 | 36 | |
| 21 | Nottingham Forest | 42 | 14 | 7 | 21 | 50 | 54 | 0.926 | 35 | Relegated to the Third Division South |
| 22 | Lincoln City | 42 | 8 | 12 | 22 | 53 | 91 | 0.582 | 28 | Relegated to the Third Division North |

### Third Division North

| Pos | Team | Pld | W | D | L | GF | GA | GR | Pts | Qualification or relegation |
| 1 | Hull City | 42 | 27 | 11 | 4 | 93 | 28 | 3.321 | 65 | Promoted to the Second Division |
| 2 | Rotherham United | 42 | 28 | 6 | 8 | 90 | 46 | 1.957 | 62 | |
| 3 | Doncaster Rovers | 42 | 20 | 10 | 12 | 53 | 40 | 1.325 | 50 | |
| 4 | Darlington | 42 | 20 | 6 | 16 | 83 | 74 | 1.122 | 46 | |
| 5 | Gateshead | 42 | 16 | 13 | 13 | 69 | 58 | 1.190 | 45 | |
| 6 | Oldham Athletic | 42 | 18 | 9 | 15 | 75 | 67 | 1.119 | 45 | |
| 7 | Rochdale | 42 | 18 | 9 | 15 | 55 | 53 | 1.038 | 45 | |
| 8 | Stockport County | 42 | 16 | 11 | 15 | 61 | 56 | 1.089 | 43 | |
| 9 | Wrexham | 42 | 17 | 9 | 16 | 56 | 62 | 0.903 | 43 | |
| 10 | Mansfield Town | 42 | 14 | 14 | 14 | 52 | 48 | 1.083 | 42 | |
| 11 | Tranmere Rovers | 42 | 13 | 15 | 14 | 46 | 57 | 0.807 | 41 | |
| 12 | Crewe Alexandra | 42 | 16 | 9 | 17 | 52 | 74 | 0.703 | 41 | |
| 13 | Barrow | 42 | 14 | 12 | 16 | 41 | 48 | 0.854 | 40 | |
| 14 | York City | 42 | 15 | 9 | 18 | 74 | 74 | 1.000 | 39 | |
| 15 | Carlisle United | 42 | 14 | 11 | 17 | 60 | 77 | 0.779 | 39 | |
| 16 | Hartlepools United | 42 | 14 | 10 | 18 | 45 | 58 | 0.776 | 38 | |
| 17 | New Brighton | 42 | 14 | 8 | 20 | 46 | 58 | 0.793 | 36 | |
| 18 | Chester | 42 | 11 | 13 | 18 | 57 | 56 | 1.018 | 35 | |
| 19 | Halifax Town | 42 | 12 | 11 | 19 | 45 | 62 | 0.726 | 35 | |
| 20 | Accrington Stanley | 42 | 12 | 10 | 20 | 55 | 64 | 0.859 | 34 | |
| 21 | Southport | 42 | 11 | 9 | 22 | 45 | 64 | 0.703 | 31 | Re-elected |
| 22 | Bradford City | 42 | 10 | 9 | 23 | 48 | 77 | 0.623 | 29 | Re-elected |

### Third Division South

| Pos | Team | Pld | W | D | L | GF | GA | GR | Pts | Qualification or relegation |
| 1 | Swansea Town | 42 | 27 | 8 | 7 | 87 | 34 | 2.559 | 62 | Promoted to the Second Division |
| 2 | Reading | 42 | 25 | 5 | 12 | 77 | 50 | 1.540 | 55 | |
| 3 | Bournemouth & Boscombe Athletic | 42 | 22 | 8 | 12 | 69 | 48 | 1.438 | 52 | |
| 4 | Swindon Town | 42 | 18 | 15 | 9 | 64 | 56 | 1.143 | 51 | |
| 5 | Bristol Rovers | 42 | 19 | 10 | 13 | 61 | 51 | 1.196 | 48 | |
| 6 | Brighton & Hove Albion | 42 | 15 | 18 | 9 | 55 | 55 | 1.000 | 48 | |
| 7 | Ipswich Town | 42 | 18 | 9 | 15 | 78 | 77 | 1.013 | 45 | |
| 8 | Millwall | 42 | 17 | 11 | 14 | 63 | 64 | 0.984 | 45 | |
| 9 | Torquay United | 42 | 17 | 11 | 14 | 65 | 70 | 0.929 | 45 | |
| 10 | Norwich City | 42 | 16 | 12 | 14 | 67 | 49 | 1.367 | 44 | |
| 11 | Notts County | 42 | 19 | 5 | 18 | 102 | 68 | 1.500 | 43 | |
| 12 | Exeter City | 42 | 15 | 10 | 17 | 63 | 76 | 0.829 | 40 | |
| 13 | Port Vale | 42 | 14 | 11 | 17 | 51 | 54 | 0.944 | 39 | |
| 14 | Walsall | 42 | 15 | 8 | 19 | 56 | 64 | 0.875 | 38 | |
| 15 | Newport County | 42 | 14 | 9 | 19 | 68 | 92 | 0.739 | 37 | |
| 16 | Bristol City | 42 | 11 | 14 | 17 | 44 | 62 | 0.710 | 36 | |
| 17 | Watford | 42 | 10 | 15 | 17 | 41 | 54 | 0.759 | 35 | |
| 18 | Southend United | 42 | 9 | 16 | 17 | 41 | 46 | 0.891 | 34 | |
| 19 | Leyton Orient | 42 | 11 | 12 | 19 | 58 | 80 | 0.725 | 34 | |
| 20 | Northampton Town | 42 | 12 | 9 | 21 | 51 | 62 | 0.823 | 33 | |
| 21 | Aldershot | 42 | 11 | 11 | 20 | 48 | 59 | 0.814 | 33 | Re-elected |
| 22 | Crystal Palace | 42 | 8 | 11 | 23 | 38 | 76 | 0.500 | 27 | Re-elected |

### Top goalscorers

First Division
* Willie Moir (Bolton Wanderers) – 25 goals
Second Division
* Charlie Wayman (Southampton) – 32 goals
Third Division North
* Wally Ardron (Rotherham United) – 29 goals
Third Division South
* Doug McGibbon (Bournemouth & Boscombe Athletic) – 30 goals