Tens of thousands have gathered and marched in central London in support of Ukraine.
The huge sea of protesters, draped in blue and yellow colours, started near Hyde Park, before snaking through the roads towards Trafalgar Square.
“Stop the war”
They chanted “stand with Ukraine” and “stop the war”, with roads being closed off and traffic stopped.
The crowd, many from Ukraine, also marched beneath Yoko Ono’s Imagine Peace message on an electronic billboard in Piccadilly.
Cheers rang out at Trafalgar Square as a message from Ukraine president Volodymyr Zelensky was played on a huge screen in front of Nelson’s Column.
Speaking ahead of the demonstration, Mr Khan said he was there to condemn Russia’s “barbaric aggression”.
The London Mayor told the PA news agency: “Londoners over the last few weeks have shown that we’re opening our arms to Ukrainian refugees, whether it’s by donating money to those charities doing a brilliant job in Ukraine or by opening our homes to those fleeing Ukraine.”
Asked on Sky News if he will be taking in a Ukrainian family, Mr Khan said: “We personally won’t be for a variety of reasons not least protections, security reasons and lack of space.”
He continued: “It is important throughout the next few days, weeks to make it far, far easier, and much more easier for those who are fleeing Ukraine to come here.
“You compare our Government’s actions versus the actions of Germany, France, Italy, Spain, Poland, it’s embarrassing.
“We’ve got be doing much more.”
“Solidarity with Ukraine”
Crowds held banners reading “stop (Vladimir) Putin’s war”, “no fly zone” and “solidarity with Ukraine” and sang as police officers followed.
The London leader also urged those in the capital to continue their “generosity” towards refugees.
He added: “I’m full of admiration for anybody who has the space to provide a room for those who have fled Ukraine.
“It’s really important families are not left to their own devices, the Government has to step up and support them.”
It comes as Mr Khan announced more than £1.1m in funding to support migrants, refugees and people seeking asylum in London.
Labour’s shadow foreign secretary David Lammy, who was also in attendance, led a chant of “stand with Ukraine”.
He said: “We come here to send a message to the beautiful people of Ukraine that we are with you in this fight.”
Mr Lammy also called for “dirty Russian money” that has “polluted” the UK economy to “end”.
Ukrainian politicians and European leaders will also speak to the crowd.
Protester Zenadin Tkalenko, 43, of Croydon, south-east London, originally from Kyiv, said: “My country is under attack, the UK I hope can help.
“Putin is a monster who needs to be stopped, people are dying and homes are being destroyed.
“This is a big country and it needs to help.”
Related: Watch: BBC Breakfast forced OFF-AIR by ‘evacuation warning’