Authorities warned they were still investigating how militants breached security, which was taken over by a private company three weeks ago, at the landmark Intercontinental Hotel late Saturday.
Guests cowered behind pillars and in rooms as gunmen sprayed bullets and set fire to parts of the six-storey building. Some people climbed over balconies, using bedsheets in a desperate attempt to escape.
The attack ended after more than 12 hours Sunday with all six militants killed by Afghan forces, aided by Norwegian troops.
Afghan health ministry spokesman Waheed Majroh said 22 bodies had now been taken to Kabul hospitals.
“Some of the bodies (are) burned badly and need DNA tests to be identified,” he said.
Six Ukrainians were among those killed in the assault, the country’s foreign ministry has confirmed.
Earlier, Afghan officials had put the toll at 18 dead, 14 of them foreigners. Authorities are known to understate death tolls in high-profile attacks.
A hotel employee told AFP that he saw two “fashionably dressed” gunmen in the hotel restaurant before the assault began.
“It was around 8.30 pm… They were sitting in the corner of the hotel, and they immediately started spraying bullets,” the 20-year-old employee, who gave his name as Hasibullah, told AFP from his hospital bed.
He ran to a fifth floor room and locked himself inside, though not before seeing “many” bodies on the ground.
The gunmen went from door to door opening them “with daggers and shooting everyone”. They were searching for foreigners, Hasibullah said, though Afghans were not spared.
“They were saying kill the foreigners,” he told AFP.
In terror he leapt from a window. “I fell on people lying in blood… it was horrific.”
Knocked unconscious, he awoke in hospital with a broken leg and other wounds.
“We believe they were inside from before,” he told AFP of the attackers.
Yesterday, an interior ministry spokesman also suggested there was evidence some of the attackers had already been inside the building.
But it was too early to say if the militants had inside help, a second spokesman, Nasrat Rahimi told AFP, adding the investigation was ongoing.
The militants were armed with suicide vests, pistols, hand grenades and Kalashnikovs, he said.
The attack followed security warnings in recent days to avoid hotels and other locations frequented by foreigners in war-torn Kabul.
Security has been ramped up in the city, but the resurgent Taliban and Islamic State are both scaling up their assaults.(AFP)