The UK will provide an additional £1 billion in military aid for Ukraine, a near-doubling in its support for the fight against the Russian invasion.
The new funding takes the military aid given to Kyiv to £2.3bn - and the UK has also spent £1.5bn in humanitarian and economic support for Ukraine.
Boris Johnson said British spending was "transforming Ukraine's defences".
The pledge came after President Zelensky urged Nato leaders to do more to help Ukraine's war effort.
Mr Zelensky told Nato leaders the monthly cost of defence for Ukraine was around $5bn (£4.12bn).
The UK is second only to the US in terms of military aid for Ukraine - the US recently approved a $40bn (£33bn) package of support.
The new British aid will go towards paying for "sophisticated air defence systems", drones, electronic warfare equipment, and "thousands of pieces of vital kit", the UK government said.
The new £1bn is set to come from departmental underspends, the UK government said, plus £95 million from the Welsh and Scottish governments' budgets.
An "underspend" means departments spent less than anticipated, not that government finances were in surplus overall. Public sector borrowing was £151.8bn in the year ending March 2022, according to the Office for National Statistics.
Announcing the extra support, the government claimed the equipment was the first step to helping Ukraine recover territory lost to Russia, on top of their "valiant defence". But questions remain about whether the aid will be sufficient.
Addressing Nato leaders at their summit in Madrid on Wednesday via video link, Mr Zelensky said they needed more modern weapons systems and artillery to "break the Russian artillery advantage".
"Russia still receives billions every day and spends them on war. We have a multibillion-dollar deficit, we don't have oil and gas to cover it," Mr Zelensky said.
Also speaking in the Spanish capital, Mr Johnson said: "Putin's brutality continues to take Ukrainian lives and threaten peace and security across Europe.
"As Putin fails to make the gains he had anticipated and hoped for and the futility of this war becomes clear to all, his attacks against the Ukrainian people are increasingly barbaric.
"UK weapons, equipment and training are transforming Ukraine's defences against this onslaught."
The UK's commitment comes as the members of Nato agreed a 10-year "strategic concept" to address future threats to European and global security.
At the same time, the US government announced it will increase its military presence across Europe as Nato agreed a "fundamental shift" in its response to Russia's invasion.
The UK currently spends around 2.3% of GDP on defence, which is above the 2% target set by Nato and among the highest of member nations.
However, the defence budget has been the source of tension between No 10 and Ministry of Defence (MoD), amid calls for more funding for the armed forces.
Defence Secretary Ben Wallace told reporters in Madrid: "To be fair, No 10 does say 'if you include the extra Ukrainian spend', they have put a sort of caveat to that.
"Because of course it isn't core defence spending. I mean, it is not my core budget, it doesn't buy me any more planes, tanks or ships."
But Mr Wallace added it was "obliquely helping Britain's defence because we're helping Ukraine".
As well as providing aid, the UK is also training Ukrainian troops.
The UK trained more than 22,000 members of the Ukrainian Armed Forces as part of Operation Orbital, which ran from 2015 until the invasion in February.
And earlier this month, Mr Johnson announced a new UK-led training programme for Ukrainian forces, which will take place overseas. The MoD said it has the potential to train up to 10,000 troops every 120 days.
Over the past few weeks, more than 450 Ukrainian troops have been receiving training in Wiltshire to operate the weapons provided by the UK.
Image source: Reuters