The victims were Nepali nationals on their way to the Canadian embassy where they worked as security guards.
The attacker waited for the bus as it left a compound, police said.
The blast was followed by a separate bomb attack on a market in Badakhshan province that killed at least eight people and wounded 18.
The Taliban said they carried out the Kabul bombing, the first such attack since the start of the holy month of Ramadan.
The bomb went off shortly before 06:00 local time (01:30 GMT) on a main road leading out of the capital towards the city of Jalalabad.
The guards were employed by a private security company, an official told AFP news agency. At least eight other people were injured.
The incident follows a suicide attack on a bus near Kabul last month and an attack on a court in Ghazni in June. Both attacks were claimed by the Taliban in revenge for the execution of six prisoners.
The Taliban have been waging an insurgency against the government since 2001. Nato ended its combat mission in December 2014, although about 13,000 training and counter-terrorism troops remain in Afghanistan.
Peace efforts have stalled after the Taliban refused to participate in new talks with the Afghan government until foreign forces had left the country.
A suicide attack on a minibus in Kabul has killed at least 14 people and injured several more, Afghan authorities say.