At least six captives survived, four of whom were seen crawling out the back door of the bus after Philippine police stormed it Monday evening when the hostage-taker started shooting at the 15 Chinese tourists inside, said police Senior Superintendent Nelson Yabut.
He said the hostage-taker was killed with a sniper shot to the head after he wounded a police sharpshooter.
Police and ambulances were lined up next to the vehicle in the pouring rain after the standoff ended. Local hospitals reported seven bodies of hostages were brought in. One other hostage was hospitalized in critical condition, and five others were unharmed.
Officials have yet to disclose the fate of the two other hostages.
The crisis began when the dismissed policeman, Rolando Mendoza, 55, armed with a M16 rifle seized the busload of Hong Kong tourists to demand his reinstatement in the force.
According to newspaper reports from 2008, he was among five officers who had been charged with robbery, extortion and grave threats after a Manila hotel chef filed a complaint alleging the policemen falsely accused him of using drugs to extort money.
The gunman released nine hostages during the afternoon - leaving 15 inside - and demanded his job back to free the rest. Despite hopes that negotiations might bring the stand-off to a peaceful conclusion, tensions escalated as night closed in.
Police said they stormed the bus after they saw Mendoza open fire on hostages.
Moments before the commandos moved in, the Filipino driver fled. Police officer Roderick Mariano cited him as saying Mendoza had opened fire at the tourists.
Associated Press writers Teresa Cerojano, Hrvoje Hranjski and Min Lee in Hong Kong contributed to this report.