Volodymyr Zelensky hailed a “powerful day” in Ukraine’s counter-offensive highlighting fierce fighting near the eastern town of Bakhmut.
Ukraine’s president also said Putin’s war was “gradually returning to Russia’s territory - to its symbolic centres” - after a drone attack on Moscow.
A senior Ukrainian official stressed that there had been heavy fighting in the northeast of the country on Sunday, with Kyiv’s forces holding their lines and making gains in some areas.
Russia’s military said it had halted Ukrainian forces in the north-east.
The military also said it brought down down three Ukrainian drones which had tried to strike Moscow and damaged a high-rise building reported to house government offices.
But in his daily address on Sunday, Mr Zelensky said: “Thank you all for this day at the front - a good day, a powerful day. Bakhmut direction, other very hot and painful areas in Donbas: Avdiivka, Maryinka, and, of course, the southern directions...
“The 5th assault brigade, the 80th separate airborne assault brigade, the 92nd separate and 110th separate mechanized brigades are very, very strong... The marines of the 35th and 36th brigades, the paratroopers of the famous “Seventy-ninth”, the 47th separate mechanized brigade, the artillerymen of the 55th separate brigade. Well done, warriors!”
Ukraine has not directly claimed responsibility for the drone attacks on Moscow.
But Mr Zelensky added: “Gradually, the war is returning to the territory of Russia - to its symbolic centres and military bases, and this is an inevitable, natural and absolutely fair process.”
Russian forces launched the latest in a series of night-time air attacks, striking what officials said was a “non-residential building” in the northeastern city of Kharkiv. The hit started a fire but there were no reports of casualties.
Mr Zelensky reported that the death toll in a Russian strike on a school in the northern town of Sumy on Saturday had risen to two after rescue teams cleared rubble from the site.
Ukrainian Deputy Defence Minister Hanna Maliar said Russian forces were “trying to drive us out” of elevated positions in the northeast occupied by Putin’s army after its February 2022 invasion, but retaken later by Ukrainian troops.
The Russians’ key task, she told national television, was to “divert our forces from the Bakhmut area, where we have a successful offensive”.
“They have attacked endlessly this week. But our troops resist the attacks and sometimes push them back with heavy losses,” she said.
Ms Maliar said the Russians had suffered “no fewer losses than during the heated battles in Bakhmut”, which fell to Russian forces after more than ten months of fighting.
This claim could not be independently verified.
Ukraine last month launched a counter-offensive focusing on a southward campaign to drive a wedge between Russian forces holding territory in the east and the annexed Crimean peninsula, and on winning back ground around Bakhmut.
But fierce fighting has also flared around the Ukrainian -held northeastern towns of Kupiansk and Lyman.
Ms Maliar said Russian forces were also “tenaciously trying to seize back” areas on the southern front taken by Ukraine.
Ukraine, she said, had recaptured 200 sq. km. (77 sq. miles) in the south, but advances were limited by entrenched Russian positions and mines.
Russia’s Defence Ministry, in its daily account of military activity, said its forces had spotted and deployed rockets to destroy an аrmoured brigade of Ukrainian troops near Svatove, a key Russian-held town in the northeast.
Russian forces, it said, had also repelled four Ukrainian attacks near the town of Lyman, further south.