With the final result declared Labour has taken control of Tower Hamlets, but has failed to take other target councils in London, while the Conservatives have lost control of two councils overall.

The Lib Dems have gained four councils, two of them in London. UKIP has lost over 120 councillors and the Greens have a net increase of eight councillors.

Those councils changing hands are listed below.

In total, 4,371 seats were contested across 150 local authorities, in the first major test of public opinion since last year's general election.

Maps built using Carto. If you can't see the map, tap or click here.

Based on the results, the gap in predicted national vote share between the Conservatives and Labour has closed since the council elections last year.

The fortunes of the main parties were different inside and outside London. Labour made gains in the capital picking up 65 councillors, while the Conservatives lost 90 seats.

In the rest of England excluding London, the Tories gained 57 seats, while Labour took an additional 12. The Lib Dems and the Greens both gained more council seats in London than in the rest of England.

Labour

Labour have taken Plymouth from the Conservatives and gained control of Kirklees and Tower Hamlets.

However, in the north they lost overall control of Nuneaton and Bedworth, and Derby, while also losing some seats in strongholds like Wigan and Sheffield.

In London, Labour gained multiple seats in Wandsworth and Westminster, as the map below shows - but these gains were not enough to take control of each borough.

Conservatives

The Conservatives gained control of Basildon and Peterborough councils thanks to the collapse in UKIP support, and won some seats in Wakefield and Leeds, traditional Labour areas.

In London, the Tories gained seats in Hillingdon - which some had touted as a potential Labour target - and won nine more seats in Sutton, despite the area remaining in Lib Dem control.

However, they lost control of Trafford, Plymouth, Kingston and Richmond - where they lost 28 seats in total.

Lib Dems

The Liberal Democrats won control of Richmond-upon-Thames, gaining 24 seats in the process in one of the biggest swings of the night. The party also took Three Rivers, Kingston and South Cambridgeshire.

They also had strong showings in the Labour areas of Hull and Merton, and the Tory council of Gosport,

UKIP

The party has lost over 120 councillors across the country, with heavy losses in Great Yarmouth and Basildon, as the map below shows. It has only managed to hold on to a handful of seats so far.

Sorry, your browser cannot display this map

London

With the final declaration early on Saturday morning, Labour took control of Tower Hamlets from No Overall Control.

The only other changes in London from the last time these seats were up in 2014 came in the south west and went to the Lib Dems.

They gained Richmond and Kingston from the Conservatives with swings of over 20 seats in each.

What are the results in your council election? Enter your postcode or council name to find out Search for councils RESULT NOT IN YET

Produced by John Walton, Tom Calver, Chris Jeavans, Mark Bryson, Maryam Ahmed, Joy Roxas and Joe Reed.