Moscow's forces, including soldiers disguised as Ukrainian troops, attacked in four waves on Wednesday but were repelled from the city, an important railway hub with a pre-war population of 26,000, Ukraine's general staff said.
"They partially entered the suburbs, the industrial zone, and were destroyed by our troops... There were assault actions using heavy armored vehicles, there were attempts to bring in infantry," the city's military administration chief said.
The city, now just 2.5 km from the front line, was under constant shelling and the population has dwindled to 3,000 people who were being urged to evacuate, the official, Andriy Besedin, told Reuters by phone.
Kupiansk was captured by Russian forces in the early days of its February 2022 invasion and then retaken by Ukraine in a counteroffensive months later.
Russia's military has not commented on the Kupiansk front, but Vitaly Ganchev, a Moscow-installed official, said Russian forces were gaining a foothold on Kupiansk's outskirts.
Battlefield accounts could not be independently verified.
Ukraine's outnumbered troops have been losing ground in the east for months, while trying to hold the line against what Kyiv says is a 50,000-strong force in Russia's Kursk region. Ukraine says Russia also plans to launch a push in the southeast soon.
The Kupiansk thrust, involving 15 pieces of hardware such as tanks and armored combat vehicles, according to Ukraine's general staff, was an attempt to expand offensive operations on a sprawling more-than-1,000 km front, President Volodymyr Zelenskyy said.
The Russian attack looked opportunistic and Kyiv appeared to have isolated and destroyed most of the Russian forces that penetrated the outskirts of Kupiansk, Pasi Paroinen, a military analyst with the Black Bird Group, said.
"However, a penetration like that certainly signals confusion and weakness in Ukrainian defenses in that area, which could prompt the local Russian commanders to increase their efforts to squeeze or cut off the Ukrainian salient," he added.
He said the coming days would likely indicate whether the Kremlin was going to react to this by ramping up their attacks there.