The military said in a Facebook post early on Saturday that an army unit managed to repel Russian forces near its base on a major city street.
In a new video, President Volodymyr Zelensky said: “We won’t lay down our arms. We will defend our state.”
The city government confirmed ongoing fighting and urged people to stay home.
According to a report by the Interfax-Ukraine news agency, city officials put out a statement asking people to stay in shelters and to stay away from windows if they were at home.
But Secretary of the National Security and Defence Council Oleksiy Danilov told Ukrainian news site Lb.ua that the army was “in control” of the situation.
“We are stopping the horde using all means available. The army servicemen and citizens are in control of Kyiv,” said Mr Danilov.
In his self-shot video, Mr Zelensky could be seen walking around Kyiv’s government district in an apparent effort to dispel rumours he had called on the army to surrender to Russian troops.
Kyiv is waking up after another anxious night.
Those who haven’t managed to leave the city by road or rail are spending long hours in basements, bomb shelters and underground stations.
Late last night, the frequent rumble of artillery fire could be heard in the distance, as Russian forces apparently attempted to weaken the city’s defences.
But the attack on Kyiv, predicted last night by President Zelensky, does not appear to have materialised. So far.
This morning, as first light comes, the city seems mostly silent, with few sounds to indicate the fierce battles that have been taking place in more than one direction.
Everyone knows this could all change in an instant. Some may be hoping that last night’s talk of possible negotiations could, somehow, halt the bloodshed.
One way or another, Kyiv will remain on edge.
Western officials say that Ukraine’s military has been effective in slowing the Russian advance.
But they worry that the Russians, impatient to inflict a rapid victory, could resort to drastic measures.
“My fear would be that if they don’t meet the timescales and objectives… they will be indiscriminate in the use of violence,” one said.
“The problem is that [Vladimir Putin], having committed himself in the way that he has, this is now not a war of choice for him, but a war of necessity.”
Earlier on Saturday, Ukraine’s air force command also reported heavy fighting near the Vasylkiv air base, southwest of Kyiv, adding that it was under attack by Russian paratroopers.
Separately it claimed one of its fighters had shot down a Russian transport plane. The BBC was unable to verify this.
‘We must persevere’
President Zelensky had earlier warned that Russia would try to “storm” Kyiv on Friday night.
“This night the enemy will be using all available means to break our resistance. This night they will launch an assault,” said Mr Zelensky.
“This night we must persevere. The fate of Ukraine is being decided right now… Our main goal is to finish this bloodbath.”
While Mr Zelensky acknowledged Russian forces had inflicted casualties, he maintained “the enemy has sustained very serious casualties”, too. The BBC cannot verify this claim.
On Friday, a spokesperson for Mr Zelensky said the country was prepared to hold ceasefire and peace talks with Russia immediately and were discussing a place and time to hold talks.