Ukraine's security services said they had opened an investigation into a suspected act of "diversion".
"A fire broke out ... as a result of an act of sabotage at a depot in the town of Balakliya where missiles and munitions were kept," Ukraine's Chief Military Prosecutor Anatoliy Matios said in a statement. "The fire led to the detonation of munitions."
Ukraine's security services said they had opened an investigation into a suspected act of "diversion", while military prosecutors said they had launched a criminal case into possible "negligence" by servicemen.
Matios said witnesses heard a sound resembling that of a drone in flight before the blasts began.
Defence Minister Stepan Poltorak said authorities were considering the theory that "explosive devices dropped from an unmanned aerial vehicle" could have caused the fire, Interfax Ukraine news agency reported.
As of Thursday afternoon 20,000 people living in within a 10-kilometre radius from the depot had been evacuated, presidential spokesman Svyatoslav Tsegolko wrote on Facebook.
He added that there appeared to be no casualties in the explosions.
An AFP reporter said local authorities had blocked a road going into Balakliya, which is located some 150 kilometres from eastern Ukraine's rebel-held regions.
The crackling sound of detonations thought to be exploding munitions could be heard some 20 kilometres (12 miles) away.
Matios said it was "impossible at this time" to extinguish the fire because of the continuing detonations.
Photographs from the scene published by the emergencies ministry showed thick smoke billowing from the depot, forming a large cloud over Soviet-era apartment buildings.
President Petro Poroshenko has ordered increased security controls at Ukraine's military facilities, Tsegolko said.
The Ukrainian military has been fighting pro-Russian separatists in the country's east since April 2014 in a conflict that has killed more than 10,000 people.
The depot in Balakliya housed munitions and arms used by Ukrainian troops fighting the insurgents, according to Ukrainian television.
At least two civilians were killed and eight people injured in a similar incident in October 2015 in the government-held city of Svatove, some 60 kilometres outside rebel-held territory.
Soviet-era military warehouses usually contain large amounts of weapons and ammunition that sometimes are stored in poor conditions.