1999 local elections handbook
Scheduled council elections held between April and June 1999, from our ward results. This is the final edition. Where our results for a council are incomplete, its figures will be too low.
- Councils
- 414
- Wards
- 7,200
- Seats
- 6,501
- Candidates
- 25,261
- Votes
- 12,747,511
Seats won by party
| Party | Seats | Candidates | Votes | Vote share* | |
|---|---|---|---|---|---|
| Labour | 2,398 | 7,616 | 4,462,640 | 35.1% | |
| Conservative | 1,793 | 6,920 | 3,669,316 | 28.8% | |
| Liberal Democrats | 1,280 | 5,756 | 2,693,057 | 21.2% | |
| Independent | 733 | 2,582 | 931,211 | 7.3% | |
| SNP | 96 | 772 | 489,389 | 3.8% | |
| PC | 76 | 326 | 161,431 | 1.3% | |
| RES | 40 | 79 | 50,448 | 0.4% | |
| RATE | 29 | 67 | 34,941 | 0.3% | |
| Green | 14 | 560 | 114,232 | 0.9% | |
| Plaid Cymru - The Party of Wales | 9 | 17 | 4,444 | 0.0% | |
| Ind Lab | 8 | 115 | 42,070 | 0.3% | |
| DAW | 5 | 14 | 5,992 | 0.0% | |
| LIB | 5 | 61 | 15,762 | 0.1% | |
| RC | 3 | 8 | 2,601 | 0.0% | |
| Ind Con | 2 | 19 | 5,502 | 0.0% |
*Note on vote share: this is each party's share of the votes cast in the wards we hold for 1999. 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 1999. Built from 6,401 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 | 32.5% | 34% | |
| LAB | 31.9% | 36% | |
| LD | 23.2% | 25% | |
| IND | 6.7% | — | |
| SNP | 2.8% | — | |
| GRN | 0.9% | — | |
| PC | 0.6% | — |
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.
Councils changing hands (99)
| Council | Before | After |
|---|---|---|
| Adur | Liberal Democrats | No overall control |
| Aylesbury Vale | Liberal Democrats | No overall control |
| Barrow-in-Furness | Labour | No overall control |
| Berwick-upon-Tweed | No overall control | Liberal Democrats |
| Blaby | No overall control | Conservative |
| Breckland | No overall control | Conservative |
| Broadland | No overall control | Conservative |
| Bromsgrove | Labour | Conservative |
| Caerphilly | Labour | Plaid Cymru - The Party of Wales |
| Calderdale | Labour | No overall control |
| Carlisle | Labour | Conservative |
| Carrick | No overall control | Liberal Democrats |
| Ceredigion | Other | No overall control |
| Charnwood | Labour | No overall control |
| Chelmsford | Liberal Democrats | No overall control |
| Cheltenham | Liberal Democrats | No overall control |
| Chichester | No overall control | Conservative |
| Chiltern | No overall control | Conservative |
| Clackmannanshire | Labour | No overall control |
| Cotswold | Other | No overall control |
| Craven | No overall control | Conservative |
| Cumberland | No overall control | Conservative |
| Dacorum | Labour | Conservative |
| Daventry | No overall control | Conservative |
| Derbyshire Dales | No overall control | Conservative |
| Dover | Labour | No overall control |
| Dundee | Labour | No overall control |
| East Cambridgeshire | Other | Liberal Democrats |
| East Dorset | Liberal Democrats | Conservative |
| East Dunbartonshire | Labour | No overall control |
| East Hampshire | Liberal Democrats | Conservative |
| East Hertfordshire | No overall control | Conservative |
| East Northamptonshire | Labour | Conservative |
| Eastbourne | Liberal Democrats | No overall control |
| Falkirk | Labour | No overall control |
| Fareham | No overall control | Conservative |
| Fenland | No overall control | Conservative |
| Forest Heath | No overall control | Conservative |
| Gedling | Labour | Conservative |
| Hambleton | No overall control | Conservative |
| Hertsmere | Labour | Conservative |
| Kettering | Labour | No overall control |
| King's Lynn And West Norfolk | Labour | No overall control |
| Kirklees | Labour | No overall control |
| Lancaster | Labour | No overall control |
| Lichfield | Labour | Conservative |
| Maldon | No overall control | Conservative |
| Merthyr Tydfil | Labour | No overall control |
| Mid Devon | Liberal Democrats | No overall control |
| Mid Sussex | No overall control | Conservative |
| Monmouthshire | Labour | No overall control |
| Moray | SNP | Other |
| New Forest | Liberal Democrats | Conservative |
| Newark And Sherwood | Labour | No overall control |
| North Dorset | Liberal Democrats | No overall control |
| North Hertfordshire | Labour | Conservative |
| North Somerset | Liberal Democrats | Conservative |
| North Wiltshire | Liberal Democrats | No overall control |
| Pembrokeshire | Other | Plaid Cymru - The Party of Wales |
| Perth and Kinross | SNP | No overall control |
| Preston | Labour | No overall control |
| Purbeck | No overall control | Conservative |
| Restormel | Liberal Democrats | No overall control |
| Rhondda Cynon Taf | Labour | Plaid Cymru - The Party of Wales |
| Rother | No overall control | Conservative |
| Rushcliffe | No overall control | Conservative |
| Rutland | No overall control | Other |
| Salisbury | Liberal Democrats | No overall control |
| Scottish Borders | Other | No overall control |
| Sedgemoor | No overall control | Conservative |
| Selby | Labour | No overall control |
| Sevenoaks | No overall control | Conservative |
| Sheffield | Labour | Liberal Democrats |
| Shepway | No overall control | Conservative |
| South Gloucestershire | No overall control | Liberal Democrats |
| South Hams | No overall control | Conservative |
| South Holland | No overall control | Conservative |
| South Northamptonshire | No overall control | Conservative |
| South Ribble | Labour | No overall control |
| St Edmundsbury | No overall control | Conservative |
| Stafford | Labour | No overall control |
| Stirling | Labour | No overall control |
| Stockport | No overall control | Liberal Democrats |
| Taunton Deane | Liberal Democrats | No overall control |
| Tendring | Labour | No overall control |
| Test Valley | Liberal Democrats | Conservative |
| Tewkesbury | Other | No overall control |
| Three Rivers | No overall control | Liberal Democrats |
| Torridge | No overall control | Other |
| Vale of Glamorgan | Labour | No overall control |
| Walsall | No overall control | Labour |
| Waverley | Liberal Democrats | Conservative |
| Wellingborough | No overall control | Labour |
| Worthing | Liberal Democrats | Conservative |
| Wrexham | Labour | No overall control |
| Wychavon | No overall control | Conservative |
| Wycombe | No overall control | Conservative |
| Wyre | Labour | Conservative |
| Wyre Forest | Labour | No overall control |
Every council (414)
| Council | Wards | Seats | Before | After |
|---|---|---|---|---|
| Aberdeen | 43 | 43 | Labour | Labour |
| Aberdeenshire | 26 | 0 | No overall control | No overall control |
| Adur | 13 | 15 | Liberal Democrats | No overall control |
| Allerdale | 31 | 56 | Labour | Labour |
| Alnwick | 16 | 29 | No overall control | No overall control |
| Amber Valley | 5 | 5 | Labour | Labour |
| Amber Valley | 10 | 10 | — | — |
| Angus | 29 | 29 | SNP | SNP |
| Argyll and Bute | 36 | 36 | Other | Other |
| Arun | 27 | 55 | Conservative | Conservative |
| Ashfield | 15 | 33 | Labour | Labour |
| Ashford | 36 | 0 | No overall control | No overall control |
| Aylesbury Vale | 22 | 0 | Liberal Democrats | No overall control |
| Babergh | 22 | 0 | No overall control | No overall control |
| Barnet | 1 | 1 | No overall control | No overall control |
| Barnsley | 22 | 21 | Labour | Labour |
| Barrow-in-Furness | 5 | 0 | Labour | No overall control |
| Basildon | 12 | 0 | Labour | Labour |
| Basingstoke and Deane | 15 | 0 | No overall control | No overall control |
| Bassetlaw | 12 | 0 | — | — |
| Bath & North East Somerset | 12 | 0 | No overall control | No overall control |
| Bedford | 12 | 0 | — | — |
| Berwick-upon-Tweed | 8 | 0 | No overall control | Liberal Democrats |
| Birmingham | 39 | 39 | Labour | Labour |
| Blaby | 5 | 0 | No overall control | Conservative |
| Blackburn | 11 | 11 | Labour | Labour |
| Blackburn | 10 | 9 | — | — |
| Blaenau Gwent | 2 | 4 | Labour | Labour |
| Blaenau Gwent | 15 | 38 | — | — |
| Blyth Valley | 8 | 0 | Labour | Labour |
| Bolsover | 22 | 0 | Labour | Labour |
| Bolton | 20 | 20 | Labour | Labour |
| Boston | 8 | 0 | No overall control | No overall control |
| Bournemouth | 19 | 57 | No overall control | No overall control |
| Bradford | 30 | 29 | Labour | Labour |
| Braintree | 10 | 0 | Labour | Labour |
| Breckland | 24 | 0 | No overall control | Conservative |
| Brentwood | 11 | 0 | Liberal Democrats | Liberal Democrats |
| Bridgend | 39 | 54 | Labour | Labour |
| Bridgnorth | 18 | 0 | Other | Other |
| Brighton & Hove | 26 | 78 | Labour | Labour |
| Bristol, City of | 35 | 70 | Labour | Labour |
| Broadland | 14 | 0 | No overall control | Conservative |
| Bromsgrove | 12 | 0 | Labour | Conservative |
| Broxbourne | 7 | 0 | Conservative | Conservative |
| Broxtowe | 10 | 21 | Labour | Labour |
| Broxtowe | 11 | 28 | — | — |
| Buckinghamshire | 30 | 56 | Conservative | Conservative |
| Burnley | 16 | 17 | Labour | Labour |
| Bury | 17 | 16 | Labour | Labour |
| Caerphilly | 1 | 0 | Labour | Plaid Cymru - The Party of Wales |
| Caerphilly | 19 | 0 | — | — |
| Calderdale | 18 | 18 | Labour | No overall control |
| Cambridge | 16 | 16 | No overall control | No overall control |
| Cannock Chase | 14 | 14 | Labour | Labour |
| Canterbury | 4 | 10 | No overall control | No overall control |
| Canterbury | 22 | 41 | — | — |
| Caradon | 29 | 39 | No overall control | No overall control |
| Cardiff | 29 | 75 | Labour | Labour |
| Carlisle | 1 | 0 | Labour | Conservative |
| Carlisle | 22 | 37 | — | — |
| Carmarthenshire | 52 | 0 | No overall control | No overall control |
| Carrick | 20 | 45 | No overall control | Liberal Democrats |
| Castle Morpeth | 20 | 33 | No overall control | No overall control |
| Castle Point | 14 | 30 | — | — |
| Castle Point | 2 | 6 | Labour | Labour |
| Ceredigion | 36 | 44 | Other | No overall control |
| Charnwood | 29 | 51 | Labour | No overall control |
| Chelmsford | 9 | 0 | Liberal Democrats | No overall control |
| Cheltenham | 14 | 19 | Liberal Democrats | No overall control |
| Cherwell | 18 | 18 | No overall control | No overall control |
| Chester | 4 | 7 | No overall control | No overall control |
| Chester-le-Street | 13 | 0 | Labour | Labour |
| Chesterfield | 9 | 16 | Labour | Labour |
| Chesterfield | 13 | 26 | — | — |
| Chichester | 34 | 50 | No overall control | Conservative |
| Chiltern | 29 | 49 | No overall control | Conservative |
| Chorley | 16 | 16 | Labour | Labour |
| Christchurch | 3 | 0 | — | — |
| City of Chester | 31 | 53 | — | — |
| Clackmannanshire | 18 | 18 | Labour | No overall control |
| Colchester | 1 | 0 | No overall control | No overall control |
| Colchester | 14 | 0 | — | — |
| Congleton | 13 | 0 | — | — |
| Conwy | 38 | 59 | No overall control | No overall control |
| Copeland Borough Council | 10 | 0 | — | — |
| Corby | 8 | 0 | Labour | Labour |
| Cotswold | 28 | 0 | Other | No overall control |
| Coventry | 18 | 18 | Labour | Labour |
| Craven | 4 | 0 | — | — |
| Craven | 1 | 0 | No overall control | Conservative |
| Crawley | 4 | 0 | Labour | Labour |
| Crewe and Nantwich | 13 | 0 | Labour | Labour |
| Cumberland | 9 | 15 | No overall control | Conservative |
| Cynon Valley | 1 | 0 | — | — |
| Dacorum | 16 | 0 | Labour | Conservative |
| Darlington | 25 | 52 | Labour | Labour |
| Dartford | 13 | 0 | Labour | Labour |
| Daventry | 13 | 0 | No overall control | Conservative |
| Denbighshire | 30 | 47 | No overall control | No overall control |
| Derby | 11 | 9 | Labour | Labour |
| Derbyshire | 6 | 5 | Labour | Labour |
| Derbyshire Dales | 6 | 0 | No overall control | Conservative |
| Derwentside | 8 | 0 | Labour | Labour |
| Doncaster | 21 | 22 | Labour | Labour |
| Doncaster Metropolitan Borough Council | 8 | 0 | — | — |
| Dover | 7 | 0 | Labour | No overall control |
| Dudley | 24 | 25 | Labour | Labour |
| Dumfries and Galloway | 14 | 14 | No overall control | No overall control |
| Dumfries and Galloway | 33 | 33 | — | — |
| Dundee | 29 | 29 | Labour | No overall control |
| Durham | 1 | 0 | — | — |
| Easington | 21 | 0 | — | — |
| East Ayrshire | 19 | 0 | Labour | Labour |
| East Cambridgeshire | 13 | 0 | Other | Liberal Democrats |
| East Devon | 16 | 0 | — | — |
| East Dorset | 17 | 0 | Liberal Democrats | Conservative |
| East Dunbartonshire | 3 | 0 | Labour | No overall control |
| East Dunbartonshire | 14 | 0 | — | — |
| East Hampshire | 31 | 42 | Liberal Democrats | Conservative |
| East Hertfordshire | 30 | 50 | No overall control | Conservative |
| East Lindsey | 48 | 61 | Other | Other |
| East Lothian | 8 | 0 | Labour | Labour |
| East Northamptonshire | 20 | 36 | Labour | Conservative |
| East Renfrewshire | 10 | 0 | — | — |
| East Renfrewshire | 1 | 0 | No overall control | No overall control |
| East Staffordshire | 25 | 44 | Labour | Labour |
| East Suffolk | 6 | 6 | Labour | Labour |
| Eastbourne | 10 | 10 | Liberal Democrats | No overall control |
| Eastleigh | 6 | 6 | Liberal Democrats | Liberal Democrats |
| Eastleigh | 11 | 9 | — | — |
| Eden | 31 | 38 | Other | Other |
| Edinburgh | 22 | 0 | Labour | Labour |
| Ellesmere Port and Neston | 19 | 43 | Labour | Labour |
| Elmbridge | 20 | 20 | No overall control | No overall control |
| Epping Forest | 20 | 22 | No overall control | No overall control |
| Epsom And Ewell | 13 | 39 | Other | Other |
| Erewash | 25 | 52 | Labour | Labour |
| Exeter | 12 | 12 | Labour | Labour |
| Falkirk | 32 | 32 | Labour | No overall control |
| Fareham | 14 | 14 | No overall control | Conservative |
| Fenland | 25 | 40 | No overall control | Conservative |
| Fife | 24 | 0 | Labour | Labour |
| Flintshire | 49 | 0 | Labour | Labour |
| Forest Heath | 15 | 25 | No overall control | Conservative |
| Forest Of Dean | 20 | 2 | Labour | Labour |
| Fylde | 15 | 30 | — | — |
| Fylde | 11 | 13 | No overall control | No overall control |
| Gateshead | 1 | 0 | Labour | Labour |
| Gateshead | 20 | 0 | — | — |
| Gedling | 7 | 0 | Labour | Conservative |
| Glasgow | 1 | 0 | — | — |
| Glasgow | 77 | 77 | Labour | Labour |
| Gloucester | 7 | 0 | — | — |
| Gosport | 8 | 0 | No overall control | No overall control |
| Gravesham | 3 | 0 | Labour | Labour |
| Great Yarmouth | 14 | 0 | — | — |
| Guildford | 5 | 0 | — | — |
| Gwynedd | 69 | 83 | Plaid Cymru - The Party of Wales | Plaid Cymru - The Party of Wales |
| Halton | 15 | 11 | Labour | Labour |
| Hambleton | 21 | 0 | No overall control | Conservative |
| Harborough | 14 | 0 | No overall control | No overall control |
| Harlow | 7 | 0 | Labour | Labour |
| Harrogate | 15 | 0 | Liberal Democrats | Liberal Democrats |
| Hart | 11 | 0 | No overall control | No overall control |
| Hartlepool | 1 | 1 | Labour | Labour |
| Hartlepool | 16 | 19 | — | — |
| Hastings | 5 | 0 | Labour | Labour |
| Havant | 5 | 0 | No overall control | No overall control |
| Hertsmere | 5 | 0 | Labour | Conservative |
| High Peak | 10 | 0 | Labour | Labour |
| Highland | 90 | 81 | Other | Other |
| Hinckley And Bosworth | 5 | 0 | No overall control | No overall control |
| Horsham | 5 | 0 | — | — |
| Huntingdonshire | 16 | 0 | Conservative | Conservative |
| Hyndburn | 12 | 0 | — | — |
| Inverclyde | 20 | 20 | Labour | Labour |
| Ipswich | 16 | 0 | Labour | Labour |
| Isle of Anglesey | 39 | 39 | Other | Other |
| Kennet | 24 | 0 | No overall control | No overall control |
| Kerrier | 22 | 44 | No overall control | No overall control |
| Kettering | 1 | 2 | Labour | No overall control |
| Kettering | 20 | 34 | — | — |
| King's Lynn And West Norfolk | 40 | 59 | Labour | No overall control |
| Kingston Upon Hull, City of | 17 | 0 | Labour | Labour |
| Kirklees | 18 | 0 | Labour | No overall control |
| Knowsley | 17 | 0 | Labour | Labour |
| Lancaster | 29 | 60 | Labour | No overall control |
| Leeds | 25 | 0 | Labour | Labour |
| Lewes | 25 | 49 | Liberal Democrats | Liberal Democrats |
| Lichfield | 7 | 16 | Labour | Conservative |
| Lichfield | 22 | 45 | — | — |
| Lincoln | 12 | 35 | Labour | Labour |
| Liverpool | 16 | 0 | Liberal Democrats | Liberal Democrats |
| Luton | 1 | 0 | Labour | Labour |
| Macclesfield | 15 | 25 | Conservative | Conservative |
| Macclesfield | 23 | 34 | — | — |
| Maidstone | 18 | 19 | No overall control | No overall control |
| Maldon | 20 | 30 | No overall control | Conservative |
| Manchester | 24 | 0 | Labour | Labour |
| Mansfield | 3 | 9 | — | — |
| Mansfield | 8 | 20 | Labour | Labour |
| Mansfield District Council | 9 | 10 | — | — |
| Melton | 17 | 24 | No overall control | No overall control |
| Mendip | 35 | 46 | No overall control | No overall control |
| Merthyr Tydfil | 7 | 0 | Labour | No overall control |
| Mid Bedfordshire | 15 | 0 | — | — |
| Mid Devon | 28 | 40 | Liberal Democrats | No overall control |
| Mid Suffolk | 35 | 42 | No overall control | No overall control |
| Mid Sussex | 10 | 20 | — | — |
| Mid Sussex | 20 | 34 | No overall control | Conservative |
| Middlesbrough | 3 | 0 | — | — |
| Midlothian | 6 | 0 | — | — |
| Milton Keynes | 14 | 0 | Labour | Labour |
| Mole Valley | 9 | 9 | — | — |
| Mole Valley | 5 | 5 | No overall control | No overall control |
| Monmouthshire | 38 | 46 | Labour | No overall control |
| Moray | 5 | 0 | SNP | Other |
| Moray | 16 | 0 | — | — |
| Neath Port Talbot | 30 | 0 | Labour | Labour |
| New Forest | 33 | 58 | Liberal Democrats | Conservative |
| Newark And Sherwood | 30 | 54 | Labour | No overall control |
| Newcastle Upon Tyne | 22 | 0 | Labour | Labour |
| Newcastle-under-Lyme | 16 | 0 | Labour | Labour |
| Newport | 20 | 47 | Labour | Labour |
| North Ayrshire | 27 | 0 | Labour | Labour |
| North Cornwall | 17 | 0 | Other | Other |
| North Devon | 1 | 0 | Liberal Democrats | Liberal Democrats |
| North Devon | 15 | 0 | — | — |
| North Dorset | 14 | 0 | — | — |
| North Dorset | 2 | 0 | Liberal Democrats | No overall control |
| North East Derbyshire | 19 | 0 | Labour | Labour |
| North East Lincolnshire | 5 | 0 | Labour | Labour |
| North Hertfordshire | 15 | 0 | Labour | Conservative |
| North Kesteven | 23 | 0 | No overall control | No overall control |
| North Lanarkshire | 45 | 0 | Labour | Labour |
| North Lincolnshire | 3 | 0 | Labour | Labour |
| North Norfolk | 17 | 0 | — | — |
| North Shropshire | 24 | 0 | — | — |
| North Somerset | 1 | 0 | Liberal Democrats | Conservative |
| North Somerset | 6 | 0 | — | — |
| North Tyneside | 14 | 0 | — | — |
| North Warwickshire | 17 | 0 | Labour | Labour |
| North West Leicestershire | 12 | 0 | — | — |
| North Wiltshire | 17 | 0 | Liberal Democrats | No overall control |
| Northampton | 11 | 0 | Labour | Labour |
| Norwich | 16 | 0 | Labour | Labour |
| Nuneaton and Bedworth | 12 | 0 | Labour | Labour |
| Oldham | 17 | 0 | Labour | Labour |
| Orkney Islands | 20 | 0 | Other | Other |
| Oswestry | 12 | 0 | Other | Other |
| Oxford | 11 | 0 | Labour | Labour |
| Pembrokeshire | 51 | 0 | Other | Plaid Cymru - The Party of Wales |
| Pendle | 12 | 0 | — | — |
| Penwith | 10 | 0 | No overall control | No overall control |
| Perth and Kinross | 8 | 0 | SNP | No overall control |
| Peterborough | 16 | 0 | No overall control | No overall control |
| Portsmouth | 11 | 0 | Labour | Labour |
| Powys | 66 | 0 | Other | Other |
| Preston | 19 | 22 | Labour | No overall control |
| Purbeck | 14 | 24 | No overall control | Conservative |
| Reading | 15 | 15 | Labour | Labour |
| Redcar & Cleveland | 7 | 0 | Labour | Labour |
| Redditch | 10 | 10 | Labour | Labour |
| Reigate & Banstead | 17 | 17 | No overall control | No overall control |
| Renfrewshire | 30 | 0 | Labour | Labour |
| Restormel | 18 | 44 | Liberal Democrats | No overall control |
| Rhondda Cynon Taf | 37 | 0 | Labour | Plaid Cymru - The Party of Wales |
| Ribble Valley | 11 | 14 | — | — |
| Ribble Valley | 16 | 25 | No overall control | No overall control |
| Richmondshire | 26 | 34 | Other | Other |
| Rochdale | 9 | 0 | Labour | Labour |
| Rochford | 13 | 13 | No overall control | No overall control |
| Rossendale | 12 | 12 | Labour | Labour |
| Rother | 25 | 42 | No overall control | Conservative |
| Rotherham | 7 | 6 | Labour | Labour |
| Rotherham | 15 | 15 | — | — |
| Rugby | 11 | 12 | — | — |
| Rugby | 5 | 5 | No overall control | No overall control |
| Runnymede | 14 | 14 | Conservative | Conservative |
| Rushcliffe | 14 | 25 | — | — |
| Rushcliffe | 13 | 24 | No overall control | Conservative |
| Rushmoor | 15 | 19 | No overall control | No overall control |
| Rutland | 16 | 20 | No overall control | Other |
| Ryedale | 18 | 24 | No overall control | No overall control |
| Salford | 18 | 18 | — | — |
| Salford | 3 | 2 | Labour | Labour |
| Salisbury | 36 | 59 | Liberal Democrats | No overall control |
| Sandwell | 24 | 27 | Labour | Labour |
| Scarborough | 22 | 48 | No overall control | No overall control |
| Scottish Borders | 33 | 33 | Other | No overall control |
| Sedgefield | 23 | 49 | Labour | Labour |
| Sedgemoor | 25 | 50 | No overall control | Conservative |
| Sefton | 23 | 23 | No overall control | No overall control |
| Selby | 30 | 42 | Labour | No overall control |
| Sevenoaks | 15 | 0 | — | — |
| Sevenoaks | 1 | 0 | No overall control | Conservative |
| Sheffield | 29 | 29 | Labour | Liberal Democrats |
| Shepway | 6 | 0 | No overall control | Conservative |
| Shetland Islands | 1 | 0 | — | — |
| Shetland Islands | 20 | 0 | — | — |
| Shrewsbury and Atcham | 15 | 0 | No overall control | No overall control |
| Slough | 13 | 14 | Labour | Labour |
| Solihull | 2 | 2 | No overall control | No overall control |
| Solihull | 17 | 16 | — | — |
| South Ayrshire | 15 | 0 | Labour | Labour |
| South Bedfordshire | 15 | 0 | No overall control | No overall control |
| South Cambridgeshire | 18 | 0 | No overall control | No overall control |
| South Derbyshire | 14 | 0 | — | — |
| South Gloucestershire | 35 | 70 | No overall control | Liberal Democrats |
| South Hams | 19 | 0 | No overall control | Conservative |
| South Holland | 18 | 0 | No overall control | Conservative |
| South Kesteven | 21 | 0 | No overall control | No overall control |
| South Lakeland | 42 | 0 | No overall control | No overall control |
| South Lanarkshire | 51 | 0 | Labour | Labour |
| South Norfolk | 25 | 0 | — | — |
| South Northamptonshire | 20 | 0 | No overall control | Conservative |
| South Oxfordshire | 15 | 0 | No overall control | No overall control |
| South Ribble | 4 | 0 | Labour | No overall control |
| South Shropshire | 18 | 0 | Other | Other |
| South Somerset | 24 | 0 | Liberal Democrats | Liberal Democrats |
| South Staffordshire | 12 | 0 | Conservative | Conservative |
| South Tyneside | 20 | 20 | Labour | Labour |
| Southampton | 15 | 15 | Labour | Labour |
| Southend-On-Sea | 12 | 0 | No overall control | No overall control |
| Southwark | 1 | 1 | Labour | Labour |
| Spelthorne | 2 | 0 | — | — |
| St Edmundsbury | 24 | 0 | No overall control | Conservative |
| St. Helens | 19 | 18 | Labour | Labour |
| Stafford | 30 | 58 | Labour | No overall control |
| Staffordshire Moorlands | 28 | 56 | No overall control | No overall control |
| Stevenage | 11 | 36 | — | — |
| Stirling | 19 | 18 | — | — |
| Stirling | 3 | 3 | Labour | No overall control |
| Stockport | 21 | 20 | — | — |
| Stockport | 2 | 1 | No overall control | Liberal Democrats |
| Stockton-on-Tees | 30 | 55 | Labour | Labour |
| Stoke On Trent | 15 | 0 | Labour | Labour |
| Stratford-On-Avon | 15 | 0 | No overall control | No overall control |
| Stroud | 19 | 23 | No overall control | No overall control |
| Suffolk Coastal | 24 | 0 | — | — |
| Sunderland | 25 | 29 | Labour | Labour |
| Surrey Heath | 1 | 3 | Conservative | Conservative |
| Surrey Heath | 13 | 28 | — | — |
| Swale | 19 | 19 | No overall control | No overall control |
| Swansea | 14 | 0 | Labour | Labour |
| Swindon | 19 | 20 | Labour | Labour |
| Taff-Ely | 2 | 0 | — | — |
| Tameside | 19 | 19 | Labour | Labour |
| Tamworth | 10 | 10 | — | — |
| Tandridge | 14 | 14 | No overall control | No overall control |
| Taunton Deane | 27 | 54 | Liberal Democrats | No overall control |
| Teesdale | 19 | 31 | Other | Other |
| Teignbridge | 33 | 58 | No overall control | No overall control |
| Tendring | 34 | 63 | Labour | No overall control |
| Test Valley | 23 | 44 | Liberal Democrats | Conservative |
| Tewkesbury | 27 | 36 | Other | No overall control |
| Thanet | 26 | 53 | Labour | Labour |
| Three Rivers | 21 | 48 | No overall control | Liberal Democrats |
| Thurrock | 3 | 4 | Labour | Labour |
| Thurrock | 15 | 13 | — | — |
| Tonbridge and Malling | 15 | 31 | — | — |
| Tonbridge And Malling | 13 | 25 | No overall control | No overall control |
| Torfaen | 20 | 0 | — | — |
| Torridge | 27 | 35 | No overall control | Other |
| Trafford | 22 | 22 | Labour | Labour |
| Tunbridge Wells | 6 | 6 | Conservative | Conservative |
| Tunbridge Wells | 12 | 10 | — | — |
| Tynedale | 31 | 52 | No overall control | No overall control |
| Uttlesford | 31 | 42 | No overall control | No overall control |
| Vale of Glamorgan | 1 | 0 | Labour | No overall control |
| Vale of Glamorgan | 6 | 0 | — | — |
| Vale Of White Horse | 9 | 0 | Liberal Democrats | Liberal Democrats |
| Vale Royal | 28 | 57 | Labour | Labour |
| Wakefield | 21 | 21 | Labour | Labour |
| Walsall | 21 | 21 | No overall control | Labour |
| Wansbeck | 16 | 45 | Labour | Labour |
| Warrington | 20 | 20 | Labour | Labour |
| Warwick | 19 | 42 | No overall control | No overall control |
| Watford | 12 | 36 | Labour | Labour |
| Waveney | 17 | 10 | — | — |
| Waverley | 7 | 0 | Liberal Democrats | Conservative |
| Wealden | 13 | 0 | Conservative | Conservative |
| Wear Valley | 10 | 0 | Labour | Labour |
| Wellingborough | 6 | 0 | No overall control | Labour |
| Welwyn Hatfield | 5 | 0 | — | — |
| West Devon | 14 | 0 | No overall control | No overall control |
| West Dorset | 26 | 0 | No overall control | No overall control |
| West Dunbartonshire | 22 | 22 | Labour | Labour |
| West Lancashire | 17 | 0 | Labour | Labour |
| West Lindsey | 16 | 0 | No overall control | No overall control |
| West Lothian | 32 | 31 | Labour | Labour |
| West Oxfordshire | 16 | 0 | No overall control | No overall control |
| West Somerset | 18 | 31 | No overall control | No overall control |
| West Wiltshire | 28 | 43 | Liberal Democrats | Liberal Democrats |
| Weymouth and Portland | 13 | 14 | No overall control | No overall control |
| Wigan | 24 | 24 | Labour | Labour |
| Winchester | 12 | 11 | Liberal Democrats | Liberal Democrats |
| Winchester | 9 | 5 | — | — |
| Wirral | 22 | 22 | Labour | Labour |
| Woking | 12 | 15 | No overall control | No overall control |
| Wokingham | 20 | 21 | Conservative | Conservative |
| Wolverhampton | 20 | 20 | Labour | Labour |
| Worcester | 12 | 13 | Labour | Labour |
| Worthing | 12 | 14 | Liberal Democrats | Conservative |
| Wrexham | 1 | 0 | Labour | No overall control |
| Wrexham | 37 | 0 | — | — |
| Wychavon | 36 | 49 | No overall control | Conservative |
| Wycombe | 10 | 0 | No overall control | Conservative |
| Wycombe | 22 | 4 | — | — |
| Wyre | 15 | 0 | Labour | Conservative |
| Wyre Forest | 14 | 12 | — | — |
| Wyre Forest | 2 | 2 | Labour | No overall control |
| York | 29 | 53 | Labour | Labour |
See also Election Health for 1999's competitiveness figures and Council Control.
