The West was too slow to act over Russian aggression in Ukraine, Boris Johnson has told Ukrainian MPs.
Addressing the Ukrainian parliament via video link, he said Ukraine's allies "cannot make the same mistake" as they did over the 2014 Crimea invasion.
He said the West had been "too slow to grasp what was really happening" and "failed" to collectively impose sanctions against Vladimir Putin.
Details of £300m of extra military aid were also announced by Mr Johnson.
The military aid to be sent to Ukraine in the coming weeks will include electronic warfare equipment, a counter-battery radar system, GPS jammers and night-vision devices.
Introduced to MPs in Kyiv by the Ukrainian parliament's speaker, Mr Johnson said Ukraine's allies must be "humble" as the nation was previously invaded in 2014 when Russia seized Crimea, and began the war in Donbas.
"We cannot make the same mistake again," he said.
The UK prime minister - the first international leader to address the parliament since the Russian invasion - praised Ukraine's resistance for standing up to Russian forces.
He said: "You have exploded the myth of Putin's invincibility and you have written one of the most glorious chapters in military history and in the life of your country.
"The so-called irresistible force of Putin's war machine has broken on the immoveable object of Ukrainian patriotism and love of country."
He also echoed the words of Prime Minister Winston Churchill, just as Ukraine's President Volodomyr Zelensky did when he addressed MPs at Westminster in March.
Speaking to Ukrainian MPs in the chamber holding Ukrainian and Union flags, he said: "This is Ukraine's finest hour, that will be remembered and recounted for generations to come.
"Your children and grandchildren will say that Ukrainians taught the world that the brute force of an aggressor counts for nothing against the moral force of a people determined to be free."
Following the speech - which was delivered through an interpreter - the MPs in the Chamber stood to applaud and then President Zelensky described the UK and Ukraine as now being like "brothers".
"It is not scary when such an evil enemy is against you if such a good friend is next to you. Such as Great Britain" the Ukrainian president said.
He also thanked more than a dozen British celebrities who had voiced their support for Ukraine - including Sir Elton John, Ed Sheeran and the Beckham family.
War in Ukraine: More coverage
In an earlier interview with ITV's Good Morning Britain, Mr Johnson said the UK was leading the world in helping Ukraine to "protect themselves".
He said: "What the UK is doing - and has done since the crisis began - is lead the world in helping the Ukrainians protect themselves against barbaric aggression by Vladimir Putin. That's all we're doing.
"We're not saying we're doing this in order to drive some geopolitical change or to have an outcome in Moscow...
"What we care about is Ukrainian people and their suffering."
When asked about the Ukrainian UK ambassador's call for MPs to drop visa rules for refugees fleeing the country, the prime minister insisted it was important to "protect the system from those who might want to abuse it".
A total of 86,000 visas have been issued, but only 27,000 refugees have arrived, Mr Johnson said. He said the UK could have reacted faster.
The latest tranche of military support includes radar systems designed to detect artillery projectiles and missiles and then locate the positions of the weapons that fired them.
The UK is also supplying heavy lift aerial drones, which can carry supplies to Ukrainian forces that have become isolated.
And Downing Street said it would send 13 specialised Toyota Land Cruisers to protect civilians officials to command posts and help security authorities rebuild railways in eastern Ukraine, where Russian forces are now concentrated.
Foreign Secretary Liz Truss said the steel-plated vehicles, which were requested by the Ukrainian government, would also help evacuate civilians fleeing Russian shelling on the front line.
They will arrive there in the coming days, she said.
Ministers said last week that they would soon be able to supply Ukraine with long-range Brimstone missiles, as well as sending Stormer armoured vehicles to support the country's air defence.
Labour leader Sir Keir Starmer told BBC Radio 4's Today programme the party supported sending military aid to Ukraine, but he called for the government to do more on sanctions and to process refugees "much more quickly".
"I think the in-principle position of all political parties that we stand up for Ukraine, stand with Ukraine, stand against Russian aggression is very important," he said.
Liberal Democrat foreign affairs spokeswoman Layla Moran said it was the right decision but "wrong timing" to send additional weapons to Ukraine, saying it was desperately needed a week ago.
She questioned whether the prime minister had delayed the announcement ahead of local elections, a move she said was "deeply cynical".
- THE TRUTH ABOUT COLOURISM: The world's most shocking beauty trend?
- SEVEN YEARS. SIX HABITATS. ONE PLANET: Fighting to save the world's most threatened ecosystems