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