Thousands of people gathered and marched through central London in support of Ukraine.
The huge sea of protesters, draped in blue and yellow, started near Hyde Park, before meandering through the roads towards Trafalgar Square.
They chanted “Support Ukraine” and “Stop the war” as roads were closed and traffic stopped.
The crowd, many from Ukraine, also marched under Yoko Ono’s Imagine Peace message on an electronic billboard in Piccadilly.
Cheers rang out in Trafalgar Square as a message from Ukrainian President Volodymyr Zelensky was shown on a giant screen in front of Nelson’s Column.
Speaking ahead of the protest, Mr Khan said he was there to condemn Russia’s “barbaric aggression”.
The Mayor of London told the PA news agency: “Over the past few weeks, Londoners have shown that we are opening our arms to Ukrainian refugees, whether by donating money to these charities which are making a brilliant work in Ukraine or opening our homes to those fleeing Ukraine.
Asked on Sky News if he will be hosting a family from Ukraine, Mr Khan said: ‘Personally we won’t for a variety of reasons including guards, security reasons and lack of space.
He continued: “It is important over the next few days, weeks to make it much, much easier and much easier for those fleeing Ukraine to come here.
“You are comparing the actions of our government to the actions of Germany, France, Italy, Spain, Poland, it’s embarrassing.
“We need to do a lot more.”
Crowds held banners reading “Stop (Vladimir) Putin’s War”, “No Fly Zone” and “Solidarity with Ukraine” and sang as police followed.
The London leader also urged residents of the capital to continue their “generosity” towards refugees.
He added: “I am full of admiration for anyone who has the opportunity to provide a room for those who have fled Ukraine.
“It’s really important that families are not left on their own, the government needs to step in and support them.”
It comes as Mr Khan announced more than £1.1million in funding to support migrants, refugees and people seeking asylum in London.
Shadow Labor Secretary of State for Foreign Affairs David Lammy, who was also present, launched 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 an ‘end to dirty Russian money’ which has ‘polluted’ the UK economy.
Ukrainian politicians and European leaders will also address the crowd.
Protester Zenadin Tkalenko, 43, from Croydon, south-east London, originally from Kyiv, said: ‘My country is under attack, the UK I hope can help.
“Putin is a monster that needs to be stopped, people are dying and houses are being destroyed.
“It’s a big country and it has to help.”