A Greek is among the fourteen foreigners that have been confirmed to have died, along with four Afghans, as the BBC reports.
The interior minister said the recent decision to transfer security to a private company had been a mistake.
Some 160 people were rescued after Afghan troops fought throughout the night to regain control of the building.
Three attackers were also killed in the siege, officials said. Ten people, including four civilians, were injured.
Kabul police told the BBC that nine Ukrainians, one German, one Greek and one Kazakh citizen had been confirmed dead. Two have yet to be identified.
Afghan airline Kam Air says a number of its employees were killed and some are still missing.
The gunmen burst into the six-floor hotel at around 21:00 local time (16:30 GMT) on Saturday evening, as guests were enjoying dinner.
The eyewitness told the BBC he was having dinner with his son when the gunmen began firing into the air with small arms.
They killed a woman – believed to be a foreigner – and turned the gun on the eyewitness himself.
He shouted “I’m Afghan”. One of the gunmen shouted that they didn’t kill Afghans and demanded to know “Where are the foreigners?” The men then ran out of the room to look for them.
Afghan special forces were lowered by helicopters on to the roof of the hotel during the night, an interior ministry spokesman said.
They were working with Western special forces to bring the siege to an end.
The ministry has promised an investigation into how the attackers breached security, which was handed to a private company two weeks ago.
Hotel manager Ahmad Haris Nayab said the gunmen had entered the hotel through a kitchen.
The Intercontinental is a state-owned hotel – not linked to the global hotel chain of the same name – which often hosts weddings, conferences and political gatherings.
read more at BBC.com