Jeremy Corbyn failed to make a breakthrough in the English local elections, as the Conservatives saw off Labour challenges in key battleground councils.
In a night of mixed fortunes for the two major parties, Labour took Plymouth from the Conservatives but was unable to seize Tory "crown jewel" authorities in London, where it had hoped to make gains.
Hillingdon remained in Conservative hands and Mr Corbyn's party fell well short of the upsets some had predicted in Tory strongholds Wandsworth, Westminster and Kensington.
And Labour failed in its bid to take control of top target Barnet, which was gained by Tories from no overall control.
There were indications that the row over anti-Semitism may have hit its vote in an area of north London with a large Jewish community.
Former Labour councillor Adam Langleben, who lost his seat in West Hendon, tweeted: "We must NEVER have another election like this. No community group should have their vote dictated by their safety. That should shame us."
The Conservatives gained control of councils in Peterborough, Southend and Basildon, and saw a small swing in their favour outside the capital. But they lost Trafford, their flagship council in the North West, to no overall control.
Party chairman Brandon Lewis told Sky News: "It's been a good night for us. We've done better than expected and we have seen Labour - who thought they would be sweeping the board in London - thus far not gaining a single council in London.
"Eight years into a government, Labour was losing 4,000 councillors, whereas we at the moment are holding councils and in some areas making positive inroads."
Theresa May's party appeared to have benefited from an almost total collapse in the Ukip vote, which saw the Eurosceptic party shed councillors across the country.
The one point of light for Ukip was Derby, where the party held one seat and picked up another, unseating Labour's leader in the city. Former deputy chairwoman Suzanne Evans openly discussed the prospect of the party "crumbling".
Labour sources described the results as "solid", saying that the party had consolidated advances made at last year's general election.
But it suffered from a failure to damp down expectations in a set of elections where its activists, and members of the Corbyn-backing Momentum organisation, put in massive efforts on the doorsteps.
Labour London Mayor Sadiq Khan said last year that there was "no corner" of the city where the party could not win and insisted they could challenge the Tories "even in their crown jewels of Wandsworth and Barnet".
And shadow chancellor John McDonnell raised the prospect last month of the party securing a "significant victory"in Hillingdon.
Carrie Symonds, the Conservative Party's director of communications, said Labour "threw the kitchen sink" at Wandsworth, adding it was "brilliant news" that they had failed.
Shadow cabinet minister Jonathan Ashworth acknowledged that Labour had "a lot of work to do", but insisted it was making progress across the country creating "a basis we can build upon for the next general election".
Mr Khan, speaking at the Wandsworth count, told the Press Association: "What I'd be disappointed by was if we didn't make progress across London in terms of the numbers of councillors."
The two main parties both lost control of key councils outside the capital.
Mr Corbyn's party, however, lost Nuneaton and Bedworth - an area that often indicates the colour of the government at general elections, as well as Derby, with both falling to no overall control.
Elsewhere, Labour fell short of gaining control in areas like Worcester, Dudley and Walsall, where they had hoped to establish middle England strongholds.