The Conservatives have maintained their control of Wandsworth, Westminster and Kensington & Chelsea councils, three of the main battle grounds in the local elections, marking a significant defeat for Labour.
The Tories have also won control of Barnet, which had no overall control previously. Hillingdon, another council that had been in Labour's sights, stayed blue.
Jeremy Corbyn's party had hoped to make gains in a number of key areas within London, on the back of outrage at the government's mishandling of the Grenfell Tower tragedy, Brexit and the housing crisis.
But although the party picked up some individual seats, all of the London councils considered the "crown jewels" have failed to turn red, despite major campaigns to Unseat representatives of the ruling party.
Voters in Barnet, which has a high Jewish population, may have been put off by the repeated claims of anti-Semitism going unchallenged within Labour.
It was not all good news for Theresa May however, with the Liberal Democrats regaining control of Richmond-upon-Thames for the first time in eight years.
The Conservatives, who began the night with 39 seats, were reduced to seven councillors.
The Lib Dems also maintained their control of south London council Sutton.
Outside of London, Tories have also won Basildon in Essex, which was previously under no overall control, thanks to a decline in the Ukip vote. They also held on in Swindon, despite it being home to another major Labour campaign.
Labour has gained Plymouth, predominantly thanks to the collapse of the Ukip vote, and became the largest party in Trafford, while the Conservatives took Peterborough and Redditch.
And the Tories became the biggest political party in Walsall, where it took a total of 30 seats, while Labour lost two to be left with 26.
Pendle has also come under Tory control, after the party reinstated a councillor who had been suspended for making racist comments, but lost South Cambridgeshire to the Lib Dems in a surprise result.
What is the total so far?
However across the country, the Tories are actually down net five seats, with a total of 1,256 while Labour has gained 60 seats, taking their total to 1,868 so far.
Lib Dems fared well, securing a further 46 council seats, taking the total number of councillors to 447.
Meanwhile Ukip were the biggest losers, shedding 120 seats to leave the right-wing party with just three.
London local election results:
Barking & Dagenham: Labour HOLD
Barnet: Conservatives WIN
Bexley: Conservatives HOLD
Brent: Labour HOLD
Camden: Labour HOLD
Croydon: Labour HOLD
Ealing: Labour HOLD
Enfield: Labour HOLD
Kensington & Chelsea: Conservatives HOLD
Greenwich: Labour HOLD
Hackney: Labour HOLD
Havering: No control
Hammersmith & Fulham: Labour HOLD
Hillingdon: Conservatives HOLD
Lewisham: Labour HOLD
Merton: Labour HOLD
Newham: Labour HOLD
Redbridge: Labour HOLD
Richmond: Lib Dem WIN
Southwark: Labour HOLD
Sutton: Lib Dem HOLD
Waltham Forest: Labour HOLD
Wandsworth: Conservatives HOLD
Westminster: Conservatives HOLD
Reactions to the local election results
Visiting Wandsworth, Theresa May said: “Labour thought they could take control, this was one of their top targets and they threw everything at it, but they failed."
Praising the success of the south London council and others including Dudley, Walsall, Basildon and Peterborough, she added: "But we won’t take anything for granted. We will continue to work hard for local people and we will build on this success for the future.”
Liberal Democrat leader Vince Cable hailed his party's success, thanking "the outstanding efforts of our members".
He added: "These results show a return to three party politics and a strong future for the Liberal Democrats. We stand as the only party fighting for an exit from brexit, and are making gains against both a Conservative party driven by their right wing, and a left wing Labour party absorbed by Corbyn's dated economic vision.
"These elections represent an important step in our re-establishment as a political force.”
Corbyn attempted a positive spin, saying his party had achieved "a solid set of results" that "consolidated and built on the advances we made at last year’s General Election".
He added: "In a sign of how worried they are about Labour’s advance, the Tories talked up our chances to unrealistic levels, especially in London. The results show they're right to be worried - we came within a whisker of winning Wandsworth for the first time in over 40 years.
"The Labour Party is now well placed to fight and win the next General Election – and form a government that will work for the many, not the few."
But the leader of the Barnet Labour Group, Barry Rawlings, did not make excuses for the result. He said: "I am extremely grateful to all members of the Jewish community who cast votes for Labour yesterday. But too many didn’t. It wasn’t because they disagreed with our manifesto, but because they felt the Labour Party has failed to deal with anti-Semitism at a national level. They are right.
"I pledge that Barnet Labour will be a beacon to the rest of the Labour Party in tackling and defeating this anti-Semitism virus that has infected our party. For me dealing with anti-Semitism, Islamophobia, and all forms of hate is not an electoral issue, win or lose, it’s a moral responsibility that defines who we are as a Party."
However Ken Livingstone has not helped matters, by raising Hitler (again) during an interview with Sky.
Defending himself of ongoing accusations of anti-Semitism, the former London mayor said: “If you go on Jerusalem’s Holocaust memorial website, one of the documents you can download is about the deal that the Zionists did with Hitler did with the Zionists in the thirties.
“Hitler wanted to get all the Jews out of journey, and the Zionists wanted to move them all and create a Jewish state in Palestine. They collaborated, they didn’t like each other but they collaborated together to do that.”