Kyiv mayor Vitali Klitschko has told thousands of protesters in central London, including politicians and celebrities, to “keep together” with Ukraine.
A huge sea of protesters, draped in blue and yellow colours, started near Hyde Park, before snaking through the roads towards Trafalgar Square.
They chanted “stand with Ukraine” and “stop the war”, with roads being closed off and traffic stopped.
London Mayor Sadiq Khan, who was at the march, declared the capital “will always welcome refugees”.
Klitschko, a former world heavyweight boxing champion, speaking from a military bunker, told the crowd on a big screen near Nelson’s Column: “We defend right now the same principles.
“Please keep together with our country, keep together with Ukraine.”
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.
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.”
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.1 million in funding to support migrants, refugees and people seeking asylum in London.
Ukraine’s ambassador to the UK Vadym Prystaiko told the crowd: “I urge you to keep up the good work, the military and humanitarian aid.
“The sanctions must continue until the Russian economy has stopped in its tracks.”
Poetry was also read out by Oscar-winning actress Dame Emma Thompson, who was draped in a Ukrainian flag, and Skins star Kaya Scodelario.
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”.
Ukraine’s ambassador to the UK Vadym Prystaiko told the crowd: “I urge you to keep up the good work, the military and humanitarian aid.
“The sanctions must continue until the Russian economy has stopped in its tracks.”
Poetry was also read out by Oscar-winning actress Dame Emma Thompson, who was draped in a Ukrainian flag, and Skins star Kaya Scodelario.
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.”