Local election results in full: Who has declared victory in council and mayoral ballots?
The Conservatives have seen their worst set of results in 40 years after millions of voters cast their ballots on Thursday to choose their preferred choice of councils and mayors.
All 107 councils have declared their full results.
The Conservatives lost 397 council seats across England in the council elections, with Labour gaining 232, the Lib Dems 98 and Greens 64.
Labour won a total of 1,158 seats, the Lib Dems 522, Conservatives 515, Greens 181, independents 228, ratepayers and residents 48, the Workers Party of Britain four and Reform UK two.
The Conservatives lost control of 10 councils, with Labour gaining eight and the Lib Dems two.
Labour now control 51 of the 107 councils, the Lib Dems 12, Conservatives six and independents one, with 37 under no overall control.
Labour took the mayoral election race by a storm, as Sadiq Khan secured a historic third term by winning the capital’s majority.
Follow our local elections blog for live updates
Here are the results so far in full:
Mayoral elections:
London: Labour- Hold
Salford: Labour- Hold
West Yorkshire: Labour- Hold
Greater Manchester: Labour- Hold
South Yorkshire: Labour- Hold
Liverpool City: Labour- Hold
West Midlands:Labour - Conservative loss
Local Elections:
London and the South East
Adur: Labour - Gain
Basildon: No overall control - Conservative loss
Basingstoke and Deane: No overall majority – No change
Brentwood: No overall control - No change
Broxbourne: Conservative - Hold
Cambridge: Labour - Hold
Castle Point: People’s Independent Party – Gain
Cherwell: No overall majority - No change
Colchester: No overall majority – No change
Crawley: Labour - Hold
Eastleigh: Lib Dem – Hold
Elmbridge: No overall majority - No change
Fareham: Conservative – Hold
Gosport: Lib Dem – Hold
Harlow: Conservative – Hold
Hart: No overall majority – No change
Hastings: No overall control - No change
Ipswich: Labour – Hold
Maidstone: No overall majority - No change
Milton Keynes: Labour - Gain
Mole Valley: Lib Dems - Hold
Oxford: No overall majority - No change
Peterborough: No overall majority – No change
Portsmouth: No overall majority – No change
Reading: Labour – Hold
Reigate & Banstead: No overall majority - No change
Rochford: No overall majority – No change
Rushmoor: Labour – Gain
Runnymede: No overall majority - No change
Southampton: Labour – Hold
Southend-on-Sea: No overall majority – No change
St Albans: Lib Dem - Hold
Stevenage: Labour: - Hold
Tandridge: No overall majority - No change
Three Rivers: Lib Dem - Hold
Thurrock: Labour – Gain
Tunbridge Wells: Lib Dem - Gain
Winchester: Lib Dem – Hold
Watford: Lib Dem – Hold
Woking: Lib Dem - Hold
Welwyn Hatfield: No overall majority – No change
West Oxfordshire: No overall majority – No change
Wokingham: No overall majority - No change
South West
Dorset: Lib Dems - Gain
Exeter: Labour – Hold
Plymouth: Labour – Hold
Swindon: Labour – Hold
Working: Lib Dems - Hold
East Midlands
East Midlands Mayor: Labour- N/A (first election)
Lincoln: Labour – Hold
Nuneaton and Bedworth: Labour - Gain
East of England
Norwich: No overall majority - No change
North Hertfordshire District Council: No overall control - No change
West Midlands
Bristol: No overall majority - No change
Coventry: Labour - Hold
Cheltenham: Lib Dems - Hold
Dudley: No overall majority - Conservative loss
Gloucester: No overall control - Conservative loss
Redditch: Labour – Gain
Rugby: No overall majority - No change
Salford: Labour - Hold
Sandwell: Labour - No change
Solihull: Conservative - Gain
Tamworth: Labour - Gain
Walsall: Conservative - Hold
Wolverhampton: Labour - Hold
Worcester: No overall majority - No change
Yorkshire and the Humber
Barnsley: Labour – Hold
Bradford: Labour - Hold
Calderdale: Labour - Hold
Hull: Lib Dem – Hold
Kirklees: No overall control - Labour loss
Leeds: Labour - Hold
North East Lincolnshire: No overall majority – Conservative loss
Rotherham: Labour - Hold
Sheffield: No overall majority – No change
Wakefield: Labour – Hold
York & North Yorkshire mayor: Labour - N/A (first election)
North East
Gateshead: Labour – Hold
Hartlepool: Labour – Gain
Newcastle-upon-Tyne: Labour – Hold
North East mayor: Labour - N/A new (first election)
South Tyneside: Labour – Hold
Sunderland: Labour – Hold
Tees Valley Mayor: Conservative, Ben Houchen – Hold
Trafford: Labour - Hold
North West
Blackburn with Darwen: Labour – Hold
Bolton: No overall majority – No change
Bury: Labour - No change
Chorley: Labour – Hold
Hyndburn: Labour – Gain
Knowsley: Labour – Hold
Lancashire Police and Crime Commissioner: Labour - Gain
Manchester: Labour - Hold
Oldham: No overall majority – Labour loss
Preston: Labour – Hold
Rochdale: Labour - Hold
Rossendale: Labour - Hold
Sefton: Labour – Hold
Stockport: No overall majority – No change
Tameside: Labour – Hold
West Lancashire: Labour - Hold
Wigan: Labour – Hold
Worthing: Labour – Hold