The attacker driver his car into the bus, setting off the explosion that also injured at least 13 people, mostly civilians, in Jalalabad city, the BBC reported. The bus was traveling to the city from the police academy and police said the attacker might have been following it.
CNN, quoting police, said those killed included 10 police officers.
Afghan President Hamid Karzai condemned the attack, calling it the work of terrorists concerned about the growing strength of the Afghan security forces.
Also on Wednesday, at least 12 people died during a demonstration in the northern city of Taloquan to protest the killings of four people in a NATO raid the previous day. NATO has said the four were insurgents but the protesters claimed they were civilians.