Local television footage showed uniformed soldiers carrying some of the injured on stretchers away from a burning building enveloped in black smoke, while three other victims sat on the pavement awaiting medical help.
"I was a few metres (yards) away when the fire broke and caused a loud explosion," army spokesman Lieutenant-Colonel Noel Detoyato told reporters.
Twenty-three people were treated at a nearby Philippine army hospital, with five soldiers and a civilian among them later moved to other hospitals because they had serious injuries, Colonel Rovelene Bambao, a medical doctor, told AFP.
The cause of the blaze which razed the munitions supply depot at the Philippine Army Reserve Command was being investigated, he added.
Also Read
The fire apparently triggered explosions among munitions stored there, he added.
The isolated building is located a few minutes' drive from the Makati financial district in Manila.
Detoyato said the army had ordered the evacuation of nearby offices and commercial buildings as a precaution.
"There is still a possibility there could be more explosions. The area is still very hot, and ammunition reacts to heat," he said.
"We were hit by flying bricks and broken glass as we retreated from the building," volunteer Manila fireman Agrifino Santos told AFP.
The 40-year-old fireman said his team was dispatched from a nearby district to respond to the fire in late morning and had emptied their water cannon at the blaze when explosions began.