2004 local elections handbook
Scheduled council elections held between April and June 2004, from our ward results. This is the final edition. Where our results for a council are incomplete, its figures will be too low.
- Councils
- 255
- Wards
- 3,866
- Seats
- 6,515
- Candidates
- 19,329
- Votes
- 15,223,215
Seats won by party
| Party | Seats | Candidates | Votes | Vote share* | |
|---|---|---|---|---|---|
| Labour | 2,383 | 5,805 | 4,996,742 | 33.5% | |
| Conservative | 1,818 | 4,927 | 4,464,347 | 30.0% | |
| Liberal Democrats | 1,381 | 4,287 | 3,746,460 | 25.2% | |
| Independent | 553 | 1,438 | 673,403 | 4.5% | |
| PC | 188 | 622 | 247,961 | 1.7% | |
| Green | 29 | 836 | 348,045 | 2.3% | |
| LIB | 20 | 84 | 47,031 | 0.3% | |
| BNP | 14 | 330 | 211,342 | 1.4% | |
| STP | 6 | 12 | 11,829 | 0.1% | |
| CIIP | 5 | 5 | 3,820 | 0.0% | |
| UK Independence Party (UKIP) | 3 | 313 | 126,646 | 0.9% | |
| MF | 3 | 3 | 3,201 | 0.0% | |
| PABAG | 3 | 6 | 3,687 | 0.0% | |
| Plaid Cymru - The Party of Wales | 3 | 7 | 1,663 | 0.0% | |
| SDP | 3 | 3 | 2,655 | 0.0% |
*Note on vote share: this is each party's share of the votes cast in the wards we hold for 2004. It is not an estimate for the whole country: many councils did not vote this year, some of our results may be missing, and in wards with several seats each voter had several votes.
National Equivalent Vote — our estimate
What each party's share might have been if the whole of Great Britain had voted in 2004. Built from 3,505 wards that did vote, compared like-for-like with the last time each ward voted, then carried across the places that didn't vote using the change in their region. Shown beside the Elections Centre's published figure where we hold it.
| Party | Our estimate | Elections Centre | |
|---|---|---|---|
| CON | 34.8% | 37% | |
| LAB | 26.4% | 26% | |
| LD | 26.0% | 27% | |
| IND | 6.3% | — | |
| GRN | 2.4% | — | |
| BNP | 0.9% | — | |
| SNP | 0.8% | — | |
| UK Independence Party (UKIP) | 0.7% | — | |
| PC | 0.7% | — |
How far to trust this: it is an estimate, not a count. It uses each party's best-placed candidate in each ward, so multi-seat wards don't inflate anyone. Parties that stand in only a few places stay in those places. Where our ward records are incomplete for a year, the estimate is less reliable — compare it with the Elections Centre column.
Mayors and police and crime commissioners (1)
Winner, runner-up and first-round votes. Where a second count was held, its votes are shown in brackets.
| Post | Winner | Votes | Runner-up | Votes |
|---|---|---|---|---|
| Mayor of LondonMayor | Ken Livingstone Labour | 685,548 (828,390) | Steven Norris Conservative | 542,423 (667,180) |
Councils changing hands (44)
| Council | Before | After |
|---|---|---|
| Bassetlaw | Labour | No overall control |
| Brentwood | No overall control | Conservative |
| Bridgend | Labour | No overall control |
| Burnley | Labour | No overall control |
| Caerphilly | Plaid Cymru - The Party of Wales | Labour |
| Caradon | Other | No overall control |
| Cardiff | Labour | No overall control |
| Ceredigion | Other | No overall control |
| Cheltenham | Liberal Democrats | No overall control |
| Cheshire East | No overall control | Conservative |
| Cheshire West & Chester | Labour | No overall control |
| Doncaster | Labour | No overall control |
| Dudley | No overall control | Conservative |
| Eastbourne | Liberal Democrats | Conservative |
| Harrogate | No overall control | Conservative |
| Hartlepool | No overall control | Labour |
| Hastings | Labour | No overall control |
| Ipswich | Labour | No overall control |
| Leeds | Labour | No overall control |
| Merthyr Tydfil | No overall control | Labour |
| Monmouthshire | No overall control | Conservative |
| Newcastle Upon Tyne | Labour | Liberal Democrats |
| Newcastle-under-Lyme | No overall control | Labour |
| North Tyneside | Labour | No overall control |
| Norwich | Liberal Democrats | No overall control |
| Oxford | Labour | No overall control |
| Pendle | No overall control | Liberal Democrats |
| Redditch | No overall control | Labour |
| Restormel | No overall control | Liberal Democrats |
| Rhondda Cynon Taf | Plaid Cymru - The Party of Wales | Labour |
| Rossendale | No overall control | Conservative |
| Slough | Labour | No overall control |
| St. Helens | Labour | No overall control |
| Stoke On Trent | No overall control | Labour |
| Swansea | Labour | No overall control |
| Swindon | No overall control | Conservative |
| Tamworth | Labour | Conservative |
| Thurrock | Labour | Conservative |
| Trafford | No overall control | Conservative |
| Walsall | No overall control | Conservative |
| West Lindsey | No overall control | Conservative |
| Winchester | Liberal Democrats | No overall control |
| Worthing | No overall control | Conservative |
| Wyre Forest | Other | No overall control |
Every council (255)
| Council | Wards | Seats | Before | After |
|---|---|---|---|---|
| Aberdeen | 1 | 3 | No overall control | No overall control |
| Adur | 14 | 29 | Conservative | Conservative |
| Amber Valley | 2 | 0 | — | — |
| Amber Valley | 22 | 22 | Conservative | Conservative |
| Arun | 1 | 1 | Conservative | Conservative |
| Aylesbury Vale | 1 | 1 | Conservative | Conservative |
| Barking and Dagenham | 2 | 4 | Labour | Labour |
| Barnsley | 24 | 63 | Labour | Labour |
| Barrow-in-Furness | 12 | 12 | Labour | Labour |
| Basildon | 14 | 14 | Conservative | Conservative |
| Basingstoke and Deane | 23 | 24 | No overall control | No overall control |
| Bassetlaw | 1 | 0 | — | — |
| Bassetlaw | 17 | 17 | Labour | No overall control |
| Bedford | 17 | 17 | No overall control | No overall control |
| Bedford | 2 | 1 | — | — |
| Birmingham | 40 | 117 | No overall control | No overall control |
| Blackburn with Darwen | 24 | 70 | Labour | Labour |
| Blaenau Gwent | 17 | 42 | Labour | Labour |
| Blaenau Gwent | 9 | 5 | — | — |
| Bolton | 22 | 60 | No overall control | No overall control |
| Bradford | 31 | 90 | No overall control | No overall control |
| Brentwood | 13 | 14 | No overall control | Conservative |
| Bridgend | 40 | 57 | Labour | No overall control |
| Bristol, City of | 1 | 1 | No overall control | No overall control |
| Broadland | 28 | 49 | Conservative | Conservative |
| Broxbourne | 14 | 14 | Conservative | Conservative |
| Burnley | 15 | 15 | Labour | No overall control |
| Bury | 17 | 51 | Labour | Labour |
| Caerphilly | 15 | 2 | — | — |
| Caerphilly | 34 | 76 | Plaid Cymru - The Party of Wales | Labour |
| Calderdale | 17 | 51 | No overall control | No overall control |
| Cambridge | 17 | 57 | Liberal Democrats | Liberal Democrats |
| Cannock Chase | 13 | 14 | No overall control | No overall control |
| Caradon | 1 | 1 | Other | No overall control |
| Cardiff | 29 | 75 | Labour | No overall control |
| Carlisle | 2 | 0 | — | — |
| Carlisle | 17 | 17 | No overall control | No overall control |
| Carmarthenshire | 61 | 88 | No overall control | No overall control |
| Castle Point | 13 | 13 | Conservative | Conservative |
| Castle Point | 4 | 0 | — | — |
| Central Bedfordshire | 1 | 1 | Conservative | Conservative |
| Ceredigion | 46 | 54 | Other | No overall control |
| Cheltenham | 20 | 21 | Liberal Democrats | No overall control |
| Cherwell | 17 | 18 | Conservative | Conservative |
| Cheshire East | 7 | 7 | No overall control | Conservative |
| Cheshire West & Chester | 3 | 3 | Labour | No overall control |
| Chester | 20 | 20 | No overall control | No overall control |
| Chorley | 16 | 18 | No overall control | No overall control |
| City of Chester | 20 | 19 | — | — |
| Colchester | 21 | 20 | No overall control | No overall control |
| Colchester | 3 | 1 | — | — |
| Congleton | 5 | 1 | — | — |
| Congleton | 16 | 16 | Conservative | Conservative |
| Conwy | 39 | 64 | No overall control | No overall control |
| Copeland Borough Council | 1 | 1 | — | — |
| Cornwall | 3 | 7 | No overall control | No overall control |
| Coventry | 18 | 54 | No overall control | No overall control |
| Craven | 12 | 11 | No overall control | No overall control |
| Crawley | 15 | 37 | Labour | Labour |
| Crewe and Nantwich | 19 | 19 | No overall control | No overall control |
| Croydon | 1 | 1 | Labour | Labour |
| Cumberland | 5 | 5 | Conservative | Conservative |
| Cynon Valley | 1 | 2 | — | — |
| Dacorum | 1 | 1 | Conservative | Conservative |
| Daventry | 12 | 12 | Conservative | Conservative |
| Denbighshire | 33 | 54 | No overall control | No overall control |
| Derby | 17 | 18 | No overall control | No overall control |
| Doncaster | 21 | 63 | Labour | No overall control |
| Dorset | 4 | 8 | Conservative | Conservative |
| Dudley | 26 | 72 | No overall control | Conservative |
| Dumfries and Galloway | 2 | 2 | — | — |
| Ealing | 1 | 1 | Labour | Labour |
| East Suffolk | 7 | 7 | No overall control | No overall control |
| Eastbourne | 9 | 10 | Liberal Democrats | Conservative |
| Eastleigh | 5 | 0 | — | — |
| Eastleigh | 18 | 15 | Liberal Democrats | Liberal Democrats |
| Edinburgh | 1 | 1 | Labour | Labour |
| Ellesmere Port and Neston | 15 | 15 | Labour | Labour |
| Elmbridge | 20 | 21 | Other | Other |
| Enfield | 1 | 1 | Conservative | Conservative |
| Epping Forest | 21 | 24 | No overall control | No overall control |
| Exeter | 14 | 15 | No overall control | No overall control |
| Fareham | 15 | 16 | Conservative | Conservative |
| Fife | 1 | 1 | No overall control | No overall control |
| Flintshire | 59 | 87 | Labour | Labour |
| Gateshead | 23 | 66 | Labour | Labour |
| Gateshead | 1 | 0 | — | — |
| Gloucester | 1 | 1 | — | — |
| Gloucester | 11 | 9 | No overall control | No overall control |
| Gosport | 17 | 17 | No overall control | No overall control |
| Gravesham | 1 | 3 | Labour | Labour |
| Great Yarmouth | 1 | 0 | — | — |
| Great Yarmouth | 17 | 39 | Conservative | Conservative |
| Gwynedd | 78 | 77 | Plaid Cymru - The Party of Wales | Plaid Cymru - The Party of Wales |
| Hackney | 1 | 1 | Labour | Labour |
| Halton | 18 | 50 | Labour | Labour |
| Haringey | 1 | 1 | Labour | Labour |
| Harlow | 11 | 11 | No overall control | No overall control |
| Harrogate | 16 | 15 | No overall control | Conservative |
| Hart | 12 | 12 | Conservative | Conservative |
| Hartlepool | 1 | 3 | — | — |
| Hartlepool | 16 | 44 | No overall control | Labour |
| Hastings | 17 | 16 | Labour | No overall control |
| Havant | 14 | 16 | Conservative | Conservative |
| Hertsmere | 13 | 13 | Conservative | Conservative |
| Highland | 1 | 0 | Other | Other |
| Horsham | 1 | 1 | — | — |
| Huntingdonshire | 30 | 56 | Conservative | Conservative |
| Hyndburn | 12 | 12 | Conservative | Conservative |
| Hyndburn | 5 | 0 | — | — |
| Ipswich | 16 | 19 | Labour | No overall control |
| Isle of Anglesey | 39 | 52 | Other | Other |
| Kingston Upon Hull | 20 | 20 | No overall control | No overall control |
| Kingston Upon Hull, City of | 20 | 20 | No overall control | No overall control |
| Kirklees | 23 | 69 | No overall control | No overall control |
| Knowsley | 21 | 60 | Labour | Labour |
| Lambeth | 1 | 2 | No overall control | No overall control |
| Leeds | 33 | 99 | Labour | No overall control |
| Leicester | 2 | 2 | No overall control | No overall control |
| Lewisham | 2 | 2 | Labour | Labour |
| Lincoln | 11 | 11 | Labour | Labour |
| Liverpool | 31 | 90 | Liberal Democrats | Liberal Democrats |
| Macclesfield | 20 | 20 | Conservative | Conservative |
| Macclesfield | 1 | 0 | — | — |
| Maidstone | 20 | 21 | No overall control | No overall control |
| Manchester | 32 | 96 | Labour | Labour |
| Mendip | 1 | 1 | Conservative | Conservative |
| Merthyr Tydfil | 11 | 35 | No overall control | Labour |
| Merton | 1 | 1 | Labour | Labour |
| Milton Keynes | 17 | 16 | Liberal Democrats | Liberal Democrats |
| Mole Valley | 13 | 13 | No overall control | No overall control |
| Mole Valley | 5 | 0 | — | — |
| Monmouthshire | 43 | 45 | No overall control | Conservative |
| Neath Port Talbot | 43 | 68 | Labour | Labour |
| Newcastle Upon Tyne | 25 | 75 | Labour | Liberal Democrats |
| Newcastle-under-Lyme | 20 | 23 | No overall control | Labour |
| Newport | 22 | 62 | Labour | Labour |
| North Dorset | 1 | 1 | — | — |
| North East Lincolnshire | 12 | 12 | No overall control | No overall control |
| North Hertfordshire | 17 | 18 | Conservative | Conservative |
| North Northamptonshire | 1 | 1 | Conservative | Conservative |
| North Tyneside | 20 | 60 | Labour | No overall control |
| North West Leicestershire | 1 | 1 | Labour | Labour |
| North Yorkshire | 1 | 1 | Conservative | Conservative |
| Norwich | 15 | 42 | Liberal Democrats | No overall control |
| Nuneaton and Bedworth | 17 | 18 | Labour | Labour |
| Oldham | 20 | 60 | Labour | Labour |
| Oswestry | 1 | 1 | No overall control | No overall control |
| Oxford | 24 | 26 | Labour | No overall control |
| Pembrokeshire | 60 | 65 | Other | Other |
| Pendle | 14 | 14 | No overall control | Liberal Democrats |
| Pendle | 5 | 3 | — | — |
| Penwith | 18 | 35 | No overall control | No overall control |
| Peterborough | 24 | 57 | Conservative | Conservative |
| Plymouth | 20 | 19 | Labour | Labour |
| Portsmouth | 14 | 14 | No overall control | No overall control |
| Powys | 77 | 118 | Other | Other |
| Preston | 21 | 21 | No overall control | No overall control |
| Purbeck | 8 | 8 | Conservative | Conservative |
| Reading | 16 | 46 | Labour | Labour |
| Redbridge | 1 | 1 | Conservative | Conservative |
| Redditch | 14 | 33 | No overall control | Labour |
| Reigate & Banstead | 18 | 20 | Conservative | Conservative |
| Restormel | 2 | 2 | No overall control | Liberal Democrats |
| Rhondda Cynon Taf | 55 | 79 | Plaid Cymru - The Party of Wales | Labour |
| Ribble Valley | 1 | 2 | Conservative | Conservative |
| Rochdale | 21 | 61 | No overall control | No overall control |
| Rochford | 13 | 17 | Conservative | Conservative |
| Rossendale | 12 | 15 | No overall control | Conservative |
| Rotherham | 22 | 60 | Labour | Labour |
| Rotherham | 2 | 0 | — | — |
| Rugby | 21 | 17 | No overall control | No overall control |
| Runnymede | 14 | 14 | Conservative | Conservative |
| Rushmoor | 15 | 14 | Conservative | Conservative |
| Salford | 22 | 60 | Labour | Labour |
| Salford | 7 | 1 | — | — |
| Sandwell | 25 | 75 | Labour | Labour |
| Sefton | 22 | 69 | No overall control | No overall control |
| Sevenoaks | 1 | 1 | — | — |
| Sheffield | 30 | 87 | Labour | Labour |
| Shrewsbury and Atcham | 13 | 13 | Conservative | Conservative |
| Shropshire | 5 | 6 | No overall control | No overall control |
| Slough | 14 | 41 | Labour | No overall control |
| Solihull | 9 | 9 | — | — |
| Solihull | 20 | 57 | Conservative | Conservative |
| South Bedfordshire | 17 | 19 | Conservative | Conservative |
| South Cambridgeshire | 34 | 57 | No overall control | No overall control |
| South Hams | 1 | 1 | Conservative | Conservative |
| South Kesteven | 1 | 1 | Conservative | Conservative |
| South Lakeland | 18 | 18 | No overall control | No overall control |
| South Tyneside | 18 | 55 | Labour | Labour |
| Southampton | 16 | 16 | No overall control | No overall control |
| Southend-On-Sea | 17 | 17 | Conservative | Conservative |
| St Albans | 18 | 18 | No overall control | No overall control |
| St Edmundsbury | 1 | 1 | Conservative | Conservative |
| St. Albans | 5 | 0 | — | — |
| St. Helens | 17 | 51 | Labour | No overall control |
| Stevenage | 13 | 13 | Labour | Labour |
| Stevenage | 2 | 1 | — | — |
| Stockport | 14 | 1 | — | — |
| Stockport | 24 | 70 | Liberal Democrats | Liberal Democrats |
| Stockton-on-Tees | 1 | 3 | Labour | Labour |
| Stoke On Trent | 20 | 19 | No overall control | Labour |
| Stratford-on-Avon | 4 | 2 | — | — |
| Stratford-On-Avon | 20 | 17 | Conservative | Conservative |
| Stroud | 19 | 20 | Conservative | Conservative |
| Sunderland | 26 | 79 | Labour | Labour |
| Swale | 17 | 17 | Conservative | Conservative |
| Swansea | 35 | 69 | Labour | No overall control |
| Swindon | 19 | 19 | No overall control | Conservative |
| Taff-Ely | 2 | 2 | — | Labour |
| Tameside | 19 | 57 | Labour | Labour |
| Tamworth | 1 | 0 | — | — |
| Tamworth | 11 | 11 | Labour | Conservative |
| Tandridge | 16 | 16 | Conservative | Conservative |
| Tendring | 1 | 3 | No overall control | No overall control |
| Three Rivers | 17 | 17 | Liberal Democrats | Liberal Democrats |
| Thurrock | 20 | 49 | Labour | Conservative |
| Tonbridge And Malling | 1 | 1 | Conservative | Conservative |
| Torfaen | 11 | 8 | — | — |
| Torfaen | 27 | 45 | Labour | Labour |
| Trafford | 22 | 66 | No overall control | Conservative |
| Tunbridge Wells | 18 | 17 | Conservative | Conservative |
| Tunbridge Wells | 6 | 0 | — | — |
| Vale of Glamorgan | 1 | 0 | — | — |
| Vale of Glamorgan | 23 | 47 | No overall control | No overall control |
| Wakefield | 23 | 69 | Labour | Labour |
| Wales | 1 | 1 | — | — |
| Walsall | 23 | 71 | No overall control | Conservative |
| Warrington | 22 | 57 | Labour | Labour |
| Watford | 12 | 12 | Liberal Democrats | Liberal Democrats |
| Watford Borough Council | 4 | 0 | — | — |
| Waveney | 11 | 10 | No overall control | No overall control |
| Waveney | 7 | 0 | — | — |
| Welwyn Hatfield | 17 | 17 | Conservative | Conservative |
| Welwyn Hatfield | 2 | 0 | — | — |
| West Lancashire | 18 | 18 | Conservative | Conservative |
| West Lindsey | 14 | 14 | No overall control | Conservative |
| West Oxfordshire | 17 | 17 | Conservative | Conservative |
| Westmorland and Furness | 1 | 1 | No overall control | No overall control |
| Weymouth and Portland | 12 | 27 | No overall control | No overall control |
| Wigan | 25 | 79 | Labour | Labour |
| Wiltshire | 1 | 1 | Conservative | Conservative |
| Winchester | 7 | 0 | — | — |
| Winchester | 22 | 18 | Liberal Democrats | No overall control |
| Wirral | 22 | 67 | No overall control | No overall control |
| Woking | 12 | 13 | No overall control | No overall control |
| Wokingham | 26 | 54 | Conservative | Conservative |
| Wolverhampton | 21 | 67 | Labour | Labour |
| Worcester | 17 | 36 | Conservative | Conservative |
| Worthing | 14 | 37 | No overall control | Conservative |
| Wrexham | 14 | 2 | — | — |
| Wrexham | 48 | 52 | No overall control | No overall control |
| Wyre Forest | 5 | 0 | — | — |
| Wyre Forest | 18 | 41 | Other | No overall control |
See also Election Health for 2004's competitiveness figures and Council Control.
