The attack, which police said was carried out by a suicide bomber on foot, came shortly before 6 am on a main road leading east out of the capital towards the city of Jalalabad.
“As a result 14 foreigners were killed, all Nepalese nationals,” the interior ministry said in a statement, adding it “strongly condemns” the attack.
The guards were employed by a company that provides security to Western embassies in Kabul, a security official who asked to remain anonymous told AFP. Nine other people were wounded, including five Nepalese and four Afghans, the ministry said.
The sound of the explosion could be heard across Kabul and a plume of smoke could be seen above the site of the blast on the Jalalabad road, a main route that houses many foreign compounds and military facilities.
More than two dozen ambulances rushed to the scene, an AFP journalist said, with police blocking off the road. Children watched as the yellow, blood-spattered bus was taken away. There was also damage to shops near the explosion site with windows shattered.
Taliban spokesman Zabihullah Mujahid claimed responsibility for the attack on social media, saying it was “against the forces of aggression” in Afghanistan.
The attack comes days after Washington announced an expansion of the US military’s authority to conduct air strikes against the Taliban, significantly boosting Afghan forces who have limited close air-support capacities.
It was the first attack in the capital since the start of the holy fasting month of Ramadan two weeks ago. The Taliban have rejected the government’s call for a ceasefire over the month.
The last attack in the Afghan capital on April 19 left 64 dead and over 340 wounded, and was also claimed by the Taliban.
The resurgent militants have been fighting against the Western-backed Kabul government since they were ousted from power by a US-led invasion in late 2001.
They have stepped up attacks in recent weeks as part of their annual spring offensive. Last month they named Haibatullah Akhundzada their new leader, in a swift power transition after former head Mullah Akhtar Mansour was killed in a US drone strike in Pakistan.
US forces have been in an advisory role in Afghanistan since the start of 2015 and had only been authorised to hit Taliban targets for defensive reasons, or to protect Afghan soldiers.
The recent changes mean US troops can now work more closely with local fighters in striking the Taliban, who have demanded the departure of all foreign forces.
Highways around Afghanistan passing through insurgency-prone areas have become exceedingly dangerous, with the Taliban and other armed groups frequently kidnapping or killing travellers.