The day-long ordeal began when a disgruntled ex-policeman armed with an M-16 assault rifle and dressed in combat pants hijacked the bus in Manila's tourist district in a desperate bid to get his job back.
Negotiations broke down after nightfall when the gunman, former senior police inspector Rolando Mendoza, began shooting and commandos were forced to storm the bus, firing dozens of bullets of their own into the vehicle.
"I shot two Chinese. I will finish them all if they do not stop," Mendoza told a local radio station as the police assault was about to get under way.
Police said a sniper shot Mendoza dead after he used his captives as "human shields" in the final moments of the 12-hour standoff.
Philippine President Benigno Aquino said eight tourists were confirmed killed, while the Red Cross reported another seven were in hospital with unspecified injuries.
Seven tourists, including children, and two Filipinos were freed at various times throughout the day from the bus that was parked at Rizal Park, a popular tourist destination just a few blocks from police headquarters.
The Filipino bus driver jumped out of a window and escaped moments before police stormed the vehicle, with his escape and the rest of the crisis broadcast live on television.
One of the survivors hit out at the Philippine authorities, saying they acted too slowly.
"There were so many people on the bus -- no one came to our rescue. Why?" the woman, who identified herself as Mrs Leung, said at the scene in comments broadcast on Hong Kong's Cable TV.
"We were in fear for so many hours. I find it really cruel."
Aquino defended the actions of the police, saying authorities had initially believed Mendoza would surrender, suggested by the release of some of the hostages, but the situation later deteriorated.
After waiting more than 10 hours to launch their assault, police were then unable to get inside the bus for another 90 minutes.
They encircled the bus, smashed its windows and fired at it, but Mendoza held them off by shooting back.
The crisis eventually ended when police threw tear gas inside the bus, and fired again.
"He used the tourists as human shields. But he panicked and retreated to the front of the bus. He was then met with a volley of gunfire," the assault team's leader Superintendent Nelson Yabut told reporters.
Mendoza, 55, was honoured by police chiefs in 1986 as one of the top 10 officers in the country.
But he was discharged in 2008 for his alleged involvement in drug-related crimes and extortion and hijacked the bus in a bid to clear his name, according to police.
"He wants to be reinstated in the service," Manila district police chief Superintendent Rodolfo Magtibay said early in the day.
Joseph Tung, executive director of the Travel Industry Council of Hong Kong, said the tourists, aged between four and 72, were on a three-day tour with Hong Thai Travel due to end on Monday.
The Hong Kong government warned all its citizens to avoid travelling to the Philippines, and expressed grief over the killings.
"It is a tragedy because a pleasure trip has ended up with casualties and injuries," Hong Kong Chief Executive Donald Tsang told a press briefing.
Flags on Hong Kong government buildings will fly at half mast on Tuesday as a mark of respect for the victims.
The Chinese foreign minister, Yang Jiechi, telephoned his Philippine counterpart Alberto Romulo to express Beijing's shock and demand a thorough investigation, China's official Xinhua news agency said.
China is to send a team to the Philippines to help deal with the aftermath, Xinhua said.
The killings added to a fast-growing number of attacks of foreigners in the Philippines.
Gunmen shot dead a South Korean man in a separate attack on Monday in another section of Manila. Police said the incidents were not related.
Last month an American, a South African, a Briton and their Filipina partners were killed in spate of murder-robberies in Angeles City north of Manila. The alleged killer was arrested.