Massive explosions and a blaze at a military ammunition depot in central Ukraine have forced authorities to evacuate 30,000 people and close airspace over the region, officials have said.

The Prime Minister hinted it was possible sabotage by Ukraine's enemies.

The blasts occurred late on Tuesday local time at a military base near Kalynivka in the Vynnytsya region, 270 kilometres west of Kiev, Ukrainian emergencies service said in a statement.

Four residential buildings were damaged by the fire and one person was injured, but no casualties had been reported.

Local media reports about 188,000 tons of munitions were kept at the depot including rockets for the Grad multiple grenade launchers.

The military said rescue teams were evacuating nearby villages in the region, bussing more than 30,000 people out of the area.

Smoke and flames rise over the military base. ( Reuters: Gleb Garanich )

Ukrainian Defence Ministry spokesman Andriy Ageyev said munitions at the military base were still detonating late on Wednesday morning.

But Prime Minister Volodymyr Groysman, who arrived to the area earlier, said the situation was under control and "external factors" were behind the incident.

Olena Gitlyanska, spokeswoman for the Ukrainian Security Service, said they were treating the fire as sabotage. She did not provide further details.

Speaking at an urgent session of the Cabinet, Mr Groysman also suggested it was possible sabotage.

He said Ukraine was at war and it expected its enemies "will do all they can to make us weak".

Government forces have been fighting Russia-backed separatists in eastern Ukraine since April 2014 in a conflict that had left more than 10,000 killed and displaced more than a million.

Authorities said they turned off the electricity and gas supply to the town.

Social media users reported hearing loud explosions as far away as the capital Kiev.

Local media said the explosion was the fourth ammunition depot explosion in the past two years.

In a similar incident in March, a fire at a military depot in Ukraine's east raged for hours and prompted an evacuation of more than 20,000 people.

Earlier, President Petro Poroshenk called for an urgent meeting of the country's top brass to discuss the situation.

The cause of the fire is still under investigation.

Reuters/AP