Russia was battling a major cross-border incursion from Ukraine for a second day on Wednesday, with authorities evacuating several thousand civilians due to fighting, officials said.
The incursion began on Tuesday morning, with Russia's defence ministry announcing it had deployed air and artillery firepower to repel Ukrainian troops breaking into the western Kursk region.
President Vladimir Putin accused Kyiv of attacking civilian buildings and said he was meeting security service chiefs to discuss a response.
"The Kyiv regime has undertaken another large-scale provocation," he said in a televised meeting with government officials on Wednesday.
"It is firing indiscriminately from various types of weapons, including rockets, at civilian buildings, residential houses and ambulances," he added.
At least five civilians have been killed and 24 wounded since the incursion began, 13 of whom have been hospitalised, according to Russian officials.
The Russian defence ministry said hostilities were ongoing in a statement published 12:30 local time, but stressed "the enemy's movement further into Russian territory had been prevented".
Authorities have evacuated several thousand people from the region and cancelled all mass gatherings, Kursk regional governor Alexei Smirnov said.
"Over the course of the last day, with our help, several thousand people left the shelling zone by personal transport," Smirnov said in a video message on Telegram.
But he added: "The situation in the region is under control".
- Serious attack -
Ukraine has not claimed responsibility for the incursion, the most serious in months.
However, a security source in Ukraine told AFP that Kyiv had struck a Russian helicopter using a drone on Tuesday over the Kursk region.
Ukrainian presidential aide Mykhailo Podolyak also alluded to the attacks, on social media, without specifically mentioning them. Moscow had used its "border regions with impunity for massive air and artillery attacks", he said.
Russia's defence ministry said there had been losses on the Ukrainian side of 260 soldiers and 50 armoured vehicles, including seven tanks and eight armoured personnel carriers.
The claim could not be independently verified.
Kursk sits just across from Ukraine's northeastern Sumy region and has been subjected to regular Ukrainian shelling attacks since the conflict began in February 2022.
Rybar, a Russian Telegram channel with military links, said Ukrainian forces had made small inroads across the border and occupied several small settlements.
It said Kyiv's troops had reached the outskirts of Sudzha, a town of about 5,000 people some eight kilometres from the border, but that Russian forces had pushed them back.
- Past incursions -
Fighters from Ukraine have made several brief incursions into Russia before, some by units of Russians fighting in support of Kyiv -- the Russian Volunteer Corps and the Freedom of Russia Legion.
Russian President Vladimir Putin in May launched a major new offensive into northeastern Ukraine. He said it was to create a security buffer to protect Russian border regions from shelling and aerial attacks.
That offensive was focused on Ukraine's Kharkiv region, to the southeast of the Sumy region, from where Tuesday's cross-border raid was mounted.
However the attacks have continued, with Russia's Belgorod region declaring more than a dozen villages near the border no-go zones due to bombardment in July.