Labour's Sadiq Khan has won a second term as London's mayor, beating Conservative rival Shaun Bailey.
He won 55.2% of the popular vote, after entering a run-off with Mr Bailey when neither managed to secure a majority in the first round of voting.
The former MP became the first Muslim mayor of an EU capital city when he was elected to the role in 2016.
Speaking at City Hall, he promised "to strain every sinew to help build a better, brighter future for London".
The Green Party's Sian Berry came third, while the Liberal Democrats' Luisa Porritt was fourth.
The Lib Dems lost their deposit, as Ms Porritt failed to win more than 5% of the vote.
Elsewhere on Saturday evening, Labour lost overall control of Durham County Council while the Tories continued to make inroads in their traditional heartlands.
Mr Khan was seen as the favourite throughout the campaign, with some pollsters predicting he would win more than half of the first-round votes.
The 51-year-old failed to reach his record-setting vote total of 2016, but won with a 228,000-vote majority.
Mr Khan's closest rival was Mr Bailey, who received 44.8% of the first and second-round votes, and increased the Conservative vote share by 1.6%.
Speaking after the results were announced, Mr Khan said: "I will always be a mayor for all Londoners, working to improve the lives of every single person in this city.
"The results of the elections around the UK shows our country, and even our city, remains deeply divided.
"The scars of Brexit have yet to heal. A crude culture war is pushing us further apart."
Mr Khan continued: "Economic inequality is getting worse both within London and in different parts of our country.
"As we seek to confront the enormity of the challenge ahead, and as we endeavour to rebuild from this pandemic, we must use this moment of national recovery to heal those damaging divisions."
Mr Bailey said he had been "written off" by pollsters, journalists and other politicians, adding: "But Londoners didn't write me off."
He congratulated Mr Khan but said he hoped the re-elected mayor would not "blame everything on the government".
During his tenure as mayor, Mr Khan has had run-ins with the government over coronavirus restrictions and Transport for London's finances.
Tim Donovan, BBC London political editor
In the end he won quite comfortably - but it didn't always feel like that.
Sadiq Khan's team got panicky on polling day when voting was slow. In fact turnout - though not at 2016 levels - was higher than previous elections unhindered by a pandemic.
Then there were jitters on the first day of counting when the margin between Mr Khan and Mr Bailey was narrow on the first constituencies announced.
Mr Khan's winning margin as an incumbent mayor eclipses Boris Johnson's in 2012.
But this was no Khan procession.
In the end Mr Bailey's performance exceeded expectations and utterly defied the grim predictions of numerous polls.
Not bad either, given how little resources he appears to have had from a Tory HQ that was focused elsewhere.
Mr Khan would have liked today to have been about sheer success - a victory to lift Labour hearts beyond the boundaries of the capital. It's not worked out like that.
And compare Mr Khan's result to Andy Burnham in Manchester, Andy Street in the West Midlands and Ben Houchen in Teesside - all of whom increased their victory margins.
That will hurt.
Labour continues its dominance in the capital, remaining the largest party on the London Assembly.
Labour took nine constituency seats, with the Conservatives winning the remaining five.
Membership of the London Assembly is split in two - with those 14 members representing constituencies and the other 11 elected by a party-list system.