It was the second major incident affecting a large Ukrainian weapons warehouse this year.
The Ukraine military prosecutor’s office said it had opened an investigation into “sabotage at a military facility” in the central Vinnytsia region.
“We have to learn to defend our strategic facilities from sabotage groups,” President Petro Poroshenko said during an emergency evening meeting of his top military commanders.
“Are their any other versions?” he asked in comments issued by his office.
The pro-Western leader’s statement hinted strongly at possible involvement by Russia or separatist militias in eastern Ukraine.
But Poroshenko made no direct mention of the Kremlin and added only vaguely that “we will no longer put up with these events”.
Prime Minister Volodymyr Groysman also seemed to imply Kremlin involvement in the explosions which shook the town of Kalynivka, about 175 kilometres (110 miles) southwest of Kiev.
“This is the arsenal of the Ukrainian army, and I think it was no accident that it was destroyed,” Groysman said from the scene of the blasts.
Initial reports mentioned no fatalities and only two minor injuries from the raging explosions of heavy munitions and air defence missiles at the site.
The Vinnytsia regional administration more than doubled the military’s initial estimate of the amount of munitions stored in the depot to 188,000 tonnes.
General staff spokesman Vladyslav Seleznyov told AFP that the arms storage warehouse was “one of the country’s largest”.
Kalynivka’s 20,000 residents largely kept off the streets as missiles and shells shot off in all directions and shattered parts of people’s homes
“We suffered heavy damage,” local resident Antonina told AFP.
“Some homes had their windows and doors completely blown out,” she said.
The defence ministry reported that the various shells and missiles had ceased exploding and the situation had been brought under control by Wednesday night.
– Mass evacuation –
The Ukrainian army’s high command wrote on Facebook that the fire broke out at around 10:00 pm (1900 GMT) Tuesday.
The flames caused artillery shells at the warehouse to explode one after the other in harrowing orange balls of fire that lit up the night sky and shook the ground.
The national police said more than 30,000 people had been evacuated from areas in the immediate vicinity of the depot.
“In addition, 180 patients were evacuated from Vinnytsia area hospitals,” Ukraine’s emergency ministry said.
Officials also shut down surrounding airspace as a precaution to prevent exploding missiles from hitting passing commercial jets.
In March, a major arms warehouse explosion killed one person in the eastern town of Balakliya.
At the time Kiev authorities pointed the finger at Moscow and Russian-backed militias fighting Ukrainian troops in a war which broke out in April 2014 and has claimed more than 10,000 lives.
Some officials in Kiev then mooted the possibility that the March fire was caused by explosives dropped from a drone.
Both Moscow and the Russian-backed insurgents dismissed the charge outright, brushing it off as propaganda.
Vinnytsia lies nearly 700 kilometres west of the war zone.
Russia vehemently denies plotting and backing Ukraine’s eastern conflict and refers to the fighting as a “civil war” — a term that particularly irritates Kiev.
Download our app and read this and other great stories on the move. Available for Android and iOS.