"It is deeply humbling to be with you in your country today. The courage of the Ukrainian people is an inspiration to the world," Sunak told his host.
Ukraine had requested more air defence systems to defend against Russia's bombardment of its energy infrastructure.
"In years to come we'll tell our grandchildren of your story, how proud and sovereign people stood up in the face of an appalling onslaught, how you fought, how you sacrificed, how you prevailed," said Sunak.
In response, Zelensky praised a "meaningful and useful visit for both our countries", during which the two leaders had discussed how to protect "European and Ukrainian energy security" and defence cooperation.
"With friends like you by our side, we are confident in our victory," he added on Twitter.
And in his evening address, Zelensky thanked Sunak "for your willingness to defend freedom even more strongly with us".
There were emotional scenes in Kherson, where residents gathered in numbers to greet the first passenger train in eight months to pull in to reunite families divided by the conflict.
"I promised I would come back. It happened so I kept my promise," said Anastasia Shevlyuga, 30, moments after stepping off the train and meeting her mother.
The reunions came a day after a Yale University group researching war crimes said Russian forces had detained and forcibily disappeared hundreds of Ukrainians during their occupation of Kherson province.
The Conflict Observatory said they had documented 226 extrajudicial detentions and forced disappearances. Around a quarter of them were allegedly subjected to torture and four died in custody, it added.
"These findings demonstrate a range of alarming allegations about treatment of detainees, including allegations of deaths in custody; the widespread use of torture and cruel, inhuman, or degrading treatment, pillage from detainees (and) sexual and gender-based violence," the report said.
And on Saturday, the Ukraine prosecutor general's office highlighted another cost of the war.
It said 437 children had been killed -- most of them in the eastern Donetsk region -- and a further 837 wounded to date in the war.
The figures were only provisional, said officials, as they continued to check the situation where fighting was still going on.
Ukraine checks 'war crime' footage
Ukraine's military meanwhile said it was checking the authenticity of footage that Moscow has said proves Kyiv executed several surrendering Russian soldiers in what they have described as a "war crime".
Videos circulated on Russian social media this week purporting to show the bodies of Russian servicemen apparently killed after having surrendered to Ukrainian troops.
"Before launching an investigation, there must be grounds for it," Ukraine's spokesman for the general staff Bogdan Senyk told AFP. "We are currently establishing whether these videos are fake," he said, adding they have been handed over to "specialists".
In the footage, the soldiers who are giving themselves up lie down on the ground in the debris-filled backyard of a house before the video abruptly cuts off as shots are heard.
More footage shows the bodies of around a dozen people surrounded by apparent blood stains.
"We are aware of the videos and we are looking into them," a UN spokesperson told AFP on Friday, calling for the perpetrators to be held to account.
The Russian Investigative Committee, which probes major crimes, has said it has opened a criminal case into the "execution of captured Russian servicemen".
The incident was not "the first and not the only war crime" committed by Ukrainian forces, said a Russian defence ministry statement.