Volodymyr Zelensky did not give details on how many people had been killed or injured in Saturday's attack in the Kharkiv region.
"This war crime alone says everything about Russian aggression," he said.
Russia has not commented. It has previously denied all allegations of targeting civilians - or war crimes.
The BBC has not been able to verify the report.
Saturday night's attack occurred in the Kypiansk area.
The city of Kupiansk and nearby settlements were seized by Russian troops in the first few days of Moscow's full-scale invasion of Ukraine, launched in February 2022.
The area was liberated during a Ukrainian counter-offensive last September.
In a post on social media, Mr Zelensky described the perpetrators as "beasts".
"Defeating terrorists is a matter of honour for everyone who values life," he added.
President Zelensky also said that on Saturday Russia separately carried out a missile attack, targeting an aeronautical company run by group Motor Sich in the western Khmelnytskyi region.
On Sunday, Russia's air defences destroyed a drone as it approached Moscow, the city's mayor, Sergei Sobyanin, said.
Last week, an office block on a Moscow skyscraper was hit two days in a row by Ukrainian drones, Russian authorities said.
Ukraine has not publicly admitted carrying out such attacks.
Moscow has also accused Ukraine on Saturday of hitting a Russian tanker with 11 crew members in the Black Sea - the second such sea drone attack in as many days.
Russian maritime officials said the engine room of the Sig tanker was damaged in the attack in the Kerch Strait. No-one was injured.
The Kerch Strait connects the Black Sea and the Sea of Azov, separating Crimea - Ukraine's peninsula annexed by Moscow in 2014 - and Russia's Taman peninsula.
Ukraine has not publicly commented. But a Ukrainian security service source told the BBC a sea drone had been used.
By Jaroslav Lukiv