Labour’s Sadiq Khan has secured a historic third term as London mayor, seeing off Tory challenger Susan Hall.
It followed “wild rumours” the incumbent could have suffered a shock defeat, although both sides subsequently said they believed Mr Khan would win.
He received 1,088,225 votes (43.8%) to be re-elected, a majority of nearly 276,000 over Ms Hall, who secured 812,397 votes (32.7%).
Follow live:
The results as they come in
It was the first time any candidate for London mayor has won a third term in office, with Mr Khan’s predecessors Boris Johnson and Ken Livingstone both having served two terms.
As he took to the stage to make his victory speech, the re-elected mayor was heckled with a shout of “Khan killed London” by the Britain First candidate, who received fewer votes than Count Binface.
Speaking at City Hall, Mr Khan said: “We faced a campaign of non-stop negativity, but I couldn’t be more proud that we answered the fearmongering with facts, hate with hope, and attempts to divide with efforts to unite.
Boris Johnson pays tribute to polling station staff who refused to let him vote without photo ID
Conservatives suffer worst local election results in years – with London and West Midlands mayoral votes still to come
Sky News projection: Labour on course to be largest party – but short of overall majority
“We ran a campaign that was in keeping with the spirit and values of this great city, a city that regards our diversity not as a weakness, but as an almighty strength – and one that rejects right hard-wing populism and looks forward, not back.”
He also thanked his family for their support, but apologised for them have to deal with “protests by our home” and “threats”.
While congratulating Mr Khan on his victory, Ms Hall said he should stop “patronising” people who care about London.
When she had previously challenged him a mayoral debate about “gangs running around with machetes” in the capital, he had said she should “stop watching The Wire” – a gritty US-based crime drama.
Please use Chrome browser for a more accessible video player
In her concession speech, she said: “The thing that matters the most, and to me, is reforming the Met and making London safe again. I hope Sadiq makes this his top priority.
“He owes it to the families of those thousands of people who have lost lives to knife crime under his mayoralty.
“And I hope too that he stops patronising people, like me, who care. This isn’t an episode of The Wire, this is real life on his watch.”
The pair had repeatedly clashed during the campaign, fought out amid concerns about knife crime and the handling of pro-Palestinian marches in the capital.
Read more:
Mayoral election results
Charts tell story of Conservative collapse
Analysis: Labour’s future success is less clear-cut
Just recently, Mr Khan had described his Conservative rival as the “most dangerous candidate I have fought against” over her past social media activity.
Hitting back, Ms Hall said she had “learnt” from her mistakes and branded his comment “outrageous”.
A clear dividing line between the candidates had been Mr Khan’s controversial expansion of the ultra low emission zone (ULEZ), which has been the subject of ongoing protests and which Ms Hall had pledged to scrap.
During the race, the Conservatives were forced to delete a clip used in an advert against Mr Khan’s record on crime after it emerged it used footage of a stampede at a New York subway station.
The result comes after Rishi Sunak’s Tory party took a hammering at the local elections, shedding hundreds of seats and losing more than 10 councils.
Meanwhile, Labour has made gains across the country, winning the Blackpool South by-election with a 26% swing from the Tories and taking control of councils in key battleground areas.
The party also picked up new mayoralties, including the critical regions of East Midlands and York and North Yorkshire, which includes Mr Sunak’s Richmond constituency.
Labour leader Sir Keir Starmer said: “This is effectively the last stop on the journey to the general election and I am really pleased to be able to show we are making progress, we have earned the trust and confidence of voters and we are making progress towards that general election.”
Search for your council name or postcode to find the result where you live
Mr Sunak has taken consolation in the Conservative victory in the Tees Valley mayoral race, which was retained by Lord Houchen and seems to be enough to calm rumblings among discontented Tory MPs.
However, the crunch contest for West Midlands mayor remains on a knife-edge.
Labour has also not had it all its own way, losing control of councils in Oldham and Kirklees after victories for independent candidates opposing the party’s stance on Gaza.
Labour also lost seats on other councils including Bristol, where the Greens extended its lead as the largest party and could now be set to run the city council despite narrowly failing to win outright control.
Notably, all 14 councillors in the newly created Bristol Central constituency are now Green, where the party is looking to unseat Labour’s shadow culture secretary Thangam Debbonaire at the general election.
Be the first to get Breaking News
Install the Sky News app for free
Sky News elections analyst Professor Michael Thrasher also says although the results are bad news for the Tories, they do not put Labour on course for an overall majority in the Commons in a general election.
The Tories have so far lost 473 seats and control of 12 councils, while Labour has won eight councils and gained 185 seats.
The Liberal Democrats gained 104 seats and won control of Dorset council from the Conservatives, while the Greens are up 74 seats.