# 1987 United Kingdom local elections

The 1987 United Kingdom local elections were held on Thursday 7 May 1987. It was the first time since 1983 that the Conservatives had enjoyed the largest share of the vote in local council elections.
Soon after the elections, Prime Minister Margaret Thatcher called a general election which resulted in a second successive Conservative landslide, although Labour managed to cut the government's overall majority, while the Alliance endured another disappointing performance and was soon disbanded as the SDP and Liberals agreed on a merger the following year.
The number of councillors was somewhat reduced from the previous year. The Conservatives lost 75 seats, Labour lost 234 and the Liberal-SDP Alliance gained 669.

## England
### Metropolitan boroughs

All 36 metropolitan borough councils had one third of their seats up for election.
| Council | Previous control | Result | Details |
| Barnsley | Labour | Labour hold | Details |
| Birmingham | Labour | Labour hold | Details |
| Bolton | Labour | Labour hold | Details |
| Bradford | Labour | Labour hold | Details |
| Bury | Labour | Labour hold | Details |
| Calderdale | No overall control | No overall control hold | Details |
| Coventry | Labour | Labour hold | Details |
| Doncaster | Labour | Labour hold | Details |
| Dudley | Labour | Labour hold | Details |
| Gateshead | Labour | Labour hold | Details |
| Kirklees | No overall control | No overall control hold | Details |
| Knowsley | Labour | Labour hold | Details |
| Leeds | Labour | Labour hold | Details |
| Liverpool | Labour | Labour hold | Details |
| Manchester | Labour | Labour hold | Details |
| Newcastle upon Tyne | Labour | Labour hold | Details |
| North Tyneside | No overall control | Labour gain | Details |
| Oldham | Labour | Labour hold | Details |
| Rochdale | Labour | Labour hold | Details |
| Rotherham | Labour | Labour hold | Details |
| Salford | Labour | Labour hold | Details |
| Sandwell | Labour | Labour hold | Details |
| Sefton | No overall control | No overall control hold | Details |
| Sheffield | Labour | Labour hold | Details |
| Solihull | Conservative | Conservative hold | Details |
| South Tyneside | Labour | Labour hold | Details |
| St Helens | Labour | Labour hold | Details |
| Stockport | No overall control | No overall control hold | Details |
| Sunderland | Labour | Labour hold | Details |
| Tameside | Labour | Labour hold | Details |
| Trafford | No overall control | No overall control hold | Details |
| Wakefield | Labour | Labour hold | Details |
| Walsall | No overall control | No overall control hold | Details |
| Wigan | Labour | Labour hold | Details |
| Wirral | No overall control | No overall control hold | Details |
| Wolverhampton | Labour | No overall control gain | Details |

### District councils
#### Whole council

In 180 districts the whole council was up for election.
Six of those districts - East Devon, Hinckley and Bosworth, Leicester, Mid Sussex, West Dorset and Woodspring - returned to whole councils elections having previously been elected by thirds.
In 5 districts there were new ward boundaries, following further electoral boundary reviews by the Local Government Boundary Commission for England.
| Council | Previous control | Result | Details |
| Allerdale | No overall control | No overall control hold | Details |
| Alnwick | No overall control | No overall control hold | Details |
| Arun | Conservative | Conservative hold | Details |
| Ashfield | Labour | Labour hold | Details |
| Ashford | Conservative | Conservative hold | Details |
| Aylesbury Vale | Conservative | Conservative hold | Details |
| Babergh | No overall control | No overall control hold | Details |
| Berwick-upon-Tweed | No overall control | No overall control hold | Details |
| Beverley | Conservative | Conservative hold | Details |
| Blaby | Conservative | Conservative hold | Details |
| Blackpool | Conservative | No overall control gain | Details |
| Blyth Valley | Labour | Alliance gain | Details |
| Bolsover | Labour | Labour hold | Details |
| Boothferry | Conservative | No overall control gain | Details |
| Boston | No overall control | No overall control hold | Details |
| Bournemouth | Conservative | Conservative hold | Details |
| Bracknell Forest | Conservative | Conservative hold | Details |
| Braintree | No overall control | No overall control hold | Details |
| Breckland | Conservative | Conservative hold | Details |
| Bridgnorth | Independent | Independent hold | Details |
| Bromsgrove | Conservative | Conservative hold | Details |
| Broxtowe | Conservative | Conservative hold | Details |
| Canterbury | Conservative | Conservative hold | Details |
| Caradon | Independent | Independent hold | Details |
| Carrick | No overall control | No overall control hold | Details |
| Castle Morpeth | No overall control | No overall control hold | Details |
| Castle Point | Conservative | Conservative hold | Details |
| Charnwood | Conservative | Conservative hold | Details |
| Chelmsford ‡ | Alliance | Alliance hold | Details |
| Chesterfield | Labour | Labour hold | Details |
| Chester-le-Street | Labour | Labour hold | Details |
| Chichester | Conservative | Conservative hold | Details |
| Chiltern | Conservative | Conservative hold | Details |
| Christchurch | Conservative | Conservative hold | Details |
| Cleethorpes | No overall control | No overall control hold | Details |
| Copeland | Labour | Labour hold | Details |
| Corby | Labour | Labour hold | Details |
| Cotswold | Independent | Independent hold | Details |
| Dacorum | Conservative | Conservative hold | Details |
| Darlington | Labour | No overall control gain | Details |
| Dartford | Conservative | Conservative hold | Details |
| Derwentside | Labour | Labour hold | Details |
| Dover | Conservative | Conservative hold | Details |
| Durham | Labour | Labour hold | Details |
| Easington | Labour | Labour hold | Details |
| East Cambridgeshire | Independent | Independent hold | Details |
| East Devon | Conservative | Conservative hold | Details |
| East Hampshire | Conservative | Conservative hold | Details |
| East Hertfordshire | Conservative | Conservative hold | Details |
| East Lindsey | Independent | Independent hold | Details |
| East Northamptonshire | Conservative | Conservative hold | Details |
| East Staffordshire | No overall control | No overall control hold | Details |
| East Yorkshire | Conservative | Conservative hold | Details |
| Eden | Independent | Independent hold | Details |
| Epsom and Ewell | Independent | Independent hold | Details |
| Erewash | Conservative | Conservative hold | Details |
| Fenland | Conservative | Conservative hold | Details |
| Forest Heath | No overall control | Conservative gain | Details |
| Forest of Dean | No overall control | No overall control hold | Details |
| Fylde | Conservative | Conservative hold | Details |
| Gedling | Conservative | Conservative hold | Details |
| Glanford | Conservative | Conservative hold | Details |
| Gravesham | Conservative | No overall control gain | Details |
| Guildford | Conservative | Conservative hold | Details |
| Hambleton | Independent | No overall control gain | Details |
| Harborough | Conservative | No overall control gain | Details |
| High Peak | No overall control | No overall control hold | Details |
| Hinckley and Bosworth | Conservative | Conservative hold | Details |
| Holderness | Independent | Independent hold | Details |
| Horsham | Conservative | Conservative hold | Details |
| Hove | Conservative | Conservative hold | Details |
| Kennet | Independent | No overall control gain | Details |
| Kerrier | No overall control | No overall control hold | Details |
| Kettering | Conservative | No overall control gain | Details |
| King's Lynn and West Norfolk | Conservative | Conservative hold | Details |
| Kingswood ‡ | Conservative | Conservative hold | Details |
| Lancaster | Conservative | No overall control gain | Details |
| Langbaurgh | Labour | No overall control gain | Details |
| Leicester | Labour | Labour hold | Details |
| Lewes | Conservative | Conservative hold | Details |
| Lichfield | Conservative | Conservative hold | Details |
| Luton | Conservative | Conservative hold | Details |
| Maldon | No overall control | No overall control hold | Details |
| Malvern Hills | Independent | No overall control gain | Details |
| Mansfield | Labour | Labour hold | Details |
| Medina | Alliance | Conservative gain | Details |
| Melton | Conservative | Conservative hold | Details |
| Mendip | Conservative | No overall control gain | Details |
| Mid Bedfordshire | Conservative | Conservative hold | Details |
| Mid Devon | Independent | Independent hold | Details |
| Mid Suffolk | No overall control | No overall control hold | Details |
| Mid Sussex | Conservative | Conservative hold | Details |
| Middlesbrough | Labour | Labour hold | Details |
| New Forest | Conservative | Conservative hold | Details |
| Newark and Sherwood | No overall control | No overall control hold | Details |
| Newbury | Conservative | Conservative hold | Details |
| North Cornwall | Independent | Independent hold | Details |
| North Devon | Independent | No overall control gain | Details |
| North Dorset | Independent | Independent hold | Details |
| North East Derbyshire | Labour | Labour hold | Details |
| North Kesteven | Independent | No overall control gain | Details |
| North Norfolk | Independent | Independent hold | Details |
| North Shropshire | Independent | Independent hold | Details |
| North Warwickshire | Labour | Labour hold | Details |
| North West Leicestershire | No overall control | No overall control hold | Details |
| North Wiltshire | Conservative | Conservative hold | Details |
| Northampton | No overall control | Conservative gain | Details |
| Northavon | Conservative | Conservative hold | Details |
| Nottingham | Labour | Conservative gain | Details |
| Oswestry | Independent | No overall control gain | Details |
| Plymouth | Conservative | Conservative hold | Details |
| Poole | Conservative | Conservative hold | Details |
| Restormel | Independent | No overall control gain | Details |
| Ribble Valley | Conservative | Conservative hold | Details |
| Richmondshire | Independent | Independent hold | Details |
| Rochester-upon-Medway | Conservative | Conservative hold | Details |
| Rother | Conservative | Conservative hold | Details |
| Rushcliffe | Conservative | Conservative hold | Details |
| Rutland | Independent | No overall control gain | Details |
| Ryedale | Independent | No overall control gain | Details |
| Salisbury | No overall control | Conservative gain | Details |
| Scarborough | No overall control | No overall control hold | Details |
| Sedgefield | Labour | Labour hold | Details |
| Sedgemoor | Conservative | Conservative hold | Details |
| Selby | Conservative | Conservative hold | Details |
| Sevenoaks | Conservative | Conservative hold | Details |
| Shepway | Conservative | No overall control gain | Details |
| South Bucks | Conservative | Conservative hold | Details |
| South Derbyshire | Labour | Labour hold | Details |
| South Hams | No overall control | Conservative gain | Details |
| South Holland | Independent | No overall control gain | Details |
| South Kesteven | Conservative | Conservative hold | Details |
| South Norfolk | Conservative | No overall control gain | Details |
| South Northamptonshire | Conservative | Conservative hold | Details |
| South Oxfordshire | Conservative | Conservative hold | Details |
| South Ribble ‡ | Conservative | Conservative hold | Details |
| South Shropshire | Independent | Independent hold | Details |
| South Somerset | No overall control | Alliance gain | Details |
| South Staffordshire | Conservative | Conservative hold | Details |
| South Wight | Conservative | No overall control gain | Details |
| Spelthorne | Conservative | Conservative hold | Details |
| St Edmundsbury | Conservative | Conservative hold | Details |
| Stafford | No overall control | No overall control hold | Details |
| Staffordshire Moorlands | No overall control | No overall control hold | Details |
| Stockton-on-Tees | Labour | Labour hold | Details |
| Suffolk Coastal | Conservative | Conservative hold | Details |
| Surrey Heath | Conservative | Conservative hold | Details |
| Tamworth ‡ | Labour | Conservative gain | Details |
| Taunton Deane ‡ | Conservative | Conservative hold | Details |
| Teesdale | Independent | Independent hold | Details |
| Teignbridge | No overall control | No overall control hold | Details |
| Tendring | Conservative | Conservative hold | Details |
| Test Valley | Conservative | Conservative hold | Details |
| Tewkesbury | Independent | No overall control gain | Details |
| Thanet | Independent | No overall control gain | Details |
| The Wrekin | Labour | Labour hold | Details |
| Torridge | Independent | Independent hold | Details |
| Tynedale | No overall control | No overall control hold | Details |
| Uttlesford | Conservative | Conservative hold | Details |
| Vale of White Horse | Conservative | Conservative hold | Details |
| Vale Royal | No overall control | No overall control hold | Details |
| Wansbeck | Labour | Labour hold | Details |
| Wansdyke | Conservative | Conservative hold | Details |
| Warrington | Labour | Labour hold | Details |
| Warwick | Conservative | Conservative hold | Details |
| Waverley | Conservative | Conservative hold | Details |
| Wealden | Conservative | Conservative hold | Details |
| Wear Valley | Labour | Labour hold | Details |
| Wellingborough | Conservative | Conservative hold | Details |
| West Derbyshire | Conservative | Conservative hold | Details |
| West Devon | Independent | No overall control gain | Details |
| West Dorset | Independent | No overall control gain | Details |
| West Somerset | Independent | Independent hold | Details |
| West Wiltshire | Conservative | Conservative hold | Details |
| Wimborne | Conservative | Conservative hold | Details |
| Windsor and Maidenhead | Conservative | Conservative hold | Details |
| Woodspring | Conservative | Conservative hold | Details |
| Wychavon | No overall control | Conservative gain | Details |
| Wycombe | Conservative | Conservative hold | Details |
| Wyre | Conservative | Conservative hold | Details |
‡ New ward boundaries

#### Third of council

In 116 districts one third of the council was up for election.
| Council | Previous control | Result | Details |
| Adur | Alliance | Alliance hold | Details |
| Amber Valley | Labour | No overall control gain | Details |
| Barrow-in-Furness | Labour | Labour hold | Details |
| Basildon | Labour | No overall control gain | Details |
| Basingstoke and Deane | Conservative | Conservative hold | Details |
| Bassetlaw | Labour | Labour hold | Details |
| Bath | Conservative | No overall control gain | Details |
| Blackburn | Labour | No overall control gain | Details |
| Brentwood | Conservative | Conservative hold | Details |
| Brighton | No overall control | No overall control hold | Details |
| Bristol | Labour | Labour hold | Details |
| Broadland | Conservative | Conservative hold | Details |
| Broxbourne | Conservative | Conservative hold | Details |
| Burnley | Labour | Labour hold | Details |
| Cambridge | Labour | No overall control gain | Details |
| Cannock Chase | No overall control | Labour gain | Details |
| Carlisle | Labour | Labour hold | Details |
| Cheltenham | No overall control | No overall control hold | Details |
| Cherwell | Conservative | Conservative hold | Details |
| Chester | No overall control | No overall control hold | Details |
| Chorley | No overall control | No overall control hold | Details |
| Colchester | No overall control | No overall control hold | Details |
| Congleton | No overall control | No overall control hold | Details |
| Craven | No overall control | No overall control hold | Details |
| Crawley | Labour | Labour hold | Details |
| Crewe and Nantwich | No overall control | No overall control hold | Details |
| Daventry | Conservative | Conservative hold | Details |
| Derby | Labour | Labour hold | Details |
| Eastbourne | Alliance | Alliance hold | Details |
| Eastleigh | No overall control | No overall control hold | Details |
| Ellesmere Port and Neston | Labour | Labour hold | Details |
| Elmbridge | No overall control | No overall control hold | Details |
| Epping Forest | Conservative | Conservative hold | Details |
| Exeter | No overall control | No overall control hold | Details |
| Fareham | No overall control | Conservative gain | Details |
| Gillingham | Conservative | Conservative hold | Details |
| Gloucester | No overall control | Conservative gain | Details |
| Gosport | Conservative | Conservative hold | Details |
| Great Grimsby | Labour | Labour hold | Details |
| Great Yarmouth | No overall control | No overall control hold | Details |
| Halton | Labour | Labour hold | Details |
| Harlow | Labour | Labour hold | Details |
| Harrogate | Conservative | Conservative hold | Details |
| Hart | No overall control | No overall control hold | Details |
| Hartlepool | Labour | Labour hold | Details |
| Hastings | No overall control | No overall control hold | Details |
| Havant | Conservative | Conservative hold | Details |
| Hereford | Alliance | Alliance hold | Details |
| Hertsmere | Conservative | Conservative hold | Details |
| Huntingdonshire | Conservative | Conservative hold | Details |
| Hyndburn | Labour | Labour hold | Details |
| Ipswich | Labour | Labour hold | Details |
| Kingston upon Hull | Labour | Labour hold | Details |
| Leominster | Independent | Independent hold | Details |
| Lincoln | Labour | Labour hold | Details |
| Macclesfield | Conservative | Conservative hold | Details |
| Maidstone | No overall control | No overall control hold | Details |
| Milton Keynes | No overall control | No overall control hold | Details |
| Mole Valley | No overall control | No overall control hold | Details |
| Newcastle-under-Lyme | Labour | Labour hold | Details |
| North Bedfordshire | No overall control | No overall control hold | Details |
| North Hertfordshire | Conservative | Conservative hold | Details |
| Norwich | Labour | Labour hold | Details |
| Nuneaton and Bedworth | Labour | Labour hold | Details |
| Oadby and Wigston | Conservative | Conservative hold | Details |
| Oxford | Labour | Labour hold | Details |
| Pendle | No overall control | Alliance gain | Details |
| Penwith | No overall control | No overall control hold | Details |
| Peterborough | No overall control | No overall control hold | Details |
| Portsmouth | Conservative | Conservative hold | Details |
| Preston | Labour | Labour hold | Details |
| Purbeck | No overall control | No overall control hold | Details |
| Reading | No overall control | Labour gain | Details |
| Redditch | Labour | Labour hold | Details |
| Reigate and Banstead | Conservative | Conservative hold | Details |
| Rochford | Conservative | Conservative hold | Details |
| Rossendale | Labour | Labour hold | Details |
| Rugby | No overall control | Conservative gain | Details |
| Runnymede | Conservative | Conservative hold | Details |
| Rushmoor | Conservative | Conservative hold | Details |
| Scunthorpe | Labour | Labour hold | Details |
| Shrewsbury and Atcham | No overall control | No overall control hold | Details |
| Slough | Labour | Labour hold | Details |
| South Bedfordshire | Conservative | Conservative hold | Details |
| South Cambridgeshire | Independent | Independent hold | Details |
| South Herefordshire | Independent | Independent hold | Details |
| South Lakeland | No overall control | No overall control hold | Details |
| Southampton | Labour | No overall control gain | Details |
| Southend-on-Sea | Conservative | No overall control gain | Details |
| St Albans | No overall control | No overall control hold | Details |
| Stevenage | Labour | Labour hold | Details |
| Stoke-on-Trent | Labour | Labour hold | Details |
| Stratford-on-Avon | Conservative | Conservative hold | Details |
| Stroud | No overall control | No overall control hold | Details |
| Swale | No overall control | No overall control hold | Details |
| Tandridge | Conservative | Conservative hold | Details |
| Thamesdown | Labour | Labour hold | Details |
| Three Rivers | No overall control | Alliance gain | Details |
| Thurrock | Labour | Labour hold | Details |
| Tonbridge and Malling | Conservative | Conservative hold | Details |
| Torbay | Conservative | Conservative hold | Details |
| Tunbridge Wells | Conservative | Conservative hold | Details |
| Watford | Labour | Labour hold | Details |
| Waveney | No overall control | No overall control hold | Details |
| Welwyn Hatfield | Labour | Labour hold | Details |
| West Lancashire | No overall control | Conservative gain | Details |
| West Lindsey | No overall control | Alliance gain | Details |
| West Oxfordshire | No overall control | Conservative gain | Details |
| Weymouth and Portland | No overall control | No overall control hold | Details |
| Winchester | Conservative | No overall control gain | Details |
| Woking | No overall control | No overall control hold | Details |
| Wokingham | Conservative | Conservative hold | Details |
| Worcester | Labour | Labour hold | Details |
| Worthing | Conservative | Conservative hold | Details |
| Wyre Forest | No overall control | No overall control hold | Details |
| York | Labour | Labour hold | Details |

## Wales
### District councils

| Council | Previous control | Result | Details |
| Aberconwy | No overall control | No overall control hold | Details |
| Alyn and Deeside | No overall control | Labour gain | Details |
| Anglesey - Ynys Môn | Independent | Independent hold | Details |
| Arfon | No overall control | No overall control hold | Details |
| Blaenau Gwent | Labour | Labour hold | Details |
| Brecknock | Independent | Independent hold | Details |
| Cardiff | Conservative | No overall control gain | Details |
| Carmarthen | Independent | Independent hold | Details |
| Ceredigion | Independent | Independent hold | Details |
| Colwyn | No overall control | No overall control hold | Details |
| Cynon Valley | Labour | Labour hold | Details |
| Delyn | No overall control | No overall control hold | Details |
| Dinefwr | Labour | Labour hold | Details |
| Dwyfor | Independent | Independent hold | Details |
| Glyndŵr | Independent | Independent hold | Details |
| Islwyn | Labour | Labour hold | Details |
| Llanelli | Labour | Labour hold | Details |
| Lliw Valley | Labour | Labour hold | Details |
| Meirionnydd | Independent | Independent hold | Details |
| Merthyr Tydfil | Labour | Labour hold | Details |
| Monmouth | Conservative | Conservative hold | Details |
| Montgomeryshire | Independent | Independent hold | Details |
| Neath | Labour | Labour hold | Details |
| Newport | Labour | Labour hold | Details |
| Ogwr | No overall control | Labour gain | Details |
| Port Talbot | Labour | Labour hold | Details |
| Preseli Pembrokeshire | Independent | Independent hold | Details |
| Radnor | Independent | Independent hold | Details |
| Rhondda | Labour | Labour hold | Details |
| Rhuddlan | Independent | Independent hold | Details |
| Rhymney Valley | Labour | Labour hold | Details |
| South Pembrokeshire | Independent | Independent hold | Details |
| Swansea | Labour | Labour hold | Details |
| Taff-Ely | Labour | Labour hold | Details |
| Torfaen | Labour | Labour hold | Details |
| Vale of Glamorgan | Conservative | Conservative hold | Details |
| Wrexham Maelor | No overall control | Labour gain | Details |