Pro-Russia rebels fired missiles Friday at government troops near the Russian border, killing at least 19 servicemen, Ukraine's Defence Ministry said, adding that four troops were killed in other clashes.
President Petro Poroshenko summoned security officials in Kyiv to discuss Friday's pre-dawn attack at a forward base in eastern Ukraine and declared that the perpetrators would be punished.
"For every life of our soldiers, the militants will pay with tens and hundreds of their own. Not one terrorist will evade responsibility, everybody will get what is coming to them," he said.
Poroshenko said more needed to be done to provide troops with protective gear.
"It is important that every soldier who is at a checkpoint be equipped with a protective vest and everything necessary," he said.
Defence Ministry spokesman Vladislav Seleznev gave the figure of 19 deaths on his Facebook account and reported the four other troop deaths. The ministry said 93 soldiers were injured in the base clash.
Ukrainian government troops have been fighting for more than three months against separatists in eastern Ukraine. In the last two weeks, however, they have cut the territory held by the rebels in half and forced them out of their stronghold in the city of Slovyansk. The rebels have since regrouped in Donetsk, an eastern industrial city of 1 million, and Ukraine has vowed to cordon off the area.
The brewing siege of Donetsk has prompted many residents to flee. Rebel officials estimated that some 70,000 people had already left the city and more would follow, while the mayor's office said 30,000 had abandoned Donetsk.
It was not immediately possible to reconcile the figures or find out how they were calculated.
The Defence Ministry said the troops hit by missiles Friday had been trying to secure the country's porous border with Russia. Ukraine says large numbers of militants have been bringing in armoured vehicles and weapons from Russia, a charge Russia denies.
The rockets were fired from a Grad missile launcher around 15 kilometres (nearly 10 miles) away, the ministry said.
Border crossings are of particular concern to both sides. The rebels have captured a few border crossings and Ukraine has demanded them back.
Vasily Malayev, spokesman for the Federal Security Service in Russia's Rostov region, said three border crossings east of Donetsk were temporarily closed late Thursday because of fighting.
Ukraine said Friday it had regained control of one of those rebel-held crossings.