The attacker struck where officers and soldiers of the Afghan National Army were waiting outside the training facility to take buses home, ministry spokesman Gen. Mohammed Zaher Azimi said. Three army buses were damaged.
Azimi said nine people were killed, as well as the attacker. Twenty-eight people were injured and were taken to a military hospital.
U.S. soldiers, NATO peacekeepers and Afghan police immediately blocked access to the site on the Jalalabad Road on the eastern side of the Afghan capital.
The U.S.-trained Afghan National Army is a key plank of international efforts to rebuild the country after decades of war and factional strife.
Such suicide attacks are rare in Kabul. There was no immediate claim of responsibility.
The blast came 10 days after Afghanistan held its first parliamentary elections in more than three decades.
Khail Mohammed, an Afghan soldier who witnessed the attack, said a uniformed man on a motorbike, believed to be the attacker, drove into the area as the buses were preparing to leave.
The last major explosion in Kabul was in August 2004, when a car bomb tore through the office of a U.S. security contractor that provided security for President Hamid Karzai, killing about 10 people. The Taliban claimed responsibility.
There has been an upsurge in violence this year in the south and east of the county as Taliban-led rebels have escalated attacks. More than 1,300 people, many of them rebels, have died in the past seven months.
On June 1, a suicide blast in the southern city of Kandahar during the funeral of a moderate Muslim cleric critical of the former Taliban regime killed 20 people, including the Kabul police chief, and wounding 42.
That attack stoked fears that insurgents fighting the Afghan government and U.S.-led coalition forces were copying deadly tactics used in Iraq.