The incident at Oxijen factory reportedly occurred as a result of human error and is the latest of a string of explosions to have hit the Tehran area and a key nuclear site in the past two weeks.
Two people have died and another three have been injured in a pre-dawn explosion in a factory south of Tehran.
The blast, which took place in "a completely industrial zone" of Baqershahr, 23 kilometres from the capital, on Tuesday was caused by "workers being negligent whilst filling oxygen tanks", Iran's official IRNA agency quoted the town's governor as saying.
"The explosion ... was so powerful that the walls of the Saipapress factory nearby were also totally destroyed," Amin Babai said, without giving details on the function of the factory.
The incident took place inside the Oxijen factory at 2233 GMT on Monday, an emergency services spokesperson said, adding that all the casualties were male and that two of those wounded had been admitted to hospital.
Babai said that "firefighters had been on the scene" since shortly after the explosion and "prevented further fires and explosions".
It was the latest of a string of explosions to have hit the Tehran area and a key nuclear site in the past two weeks.
On July 1, a powerful explosion hit a health centre in the upmarket northern Tehran neighbourhood of Tajrish, killing 19 people and damaging nearby buildings.
The fire service blamed a fire that had set light to gas canisters.
It came days after a gas tank explosion near a military complex east of the capital, which authorities said caused no casualties.
Then last week, the country's atomic energy agency reported that an "accident" had damaged warehouses under construction at the Natanz nuclear site, some 250 kilometres south of Tehran.
The organisation released a photo of a building apparently damaged by fire, with doors hanging off hinges after they appeared to have been blown outwards.
On Friday, Iran's Supreme National Security Council announced that the "cause of the accident" at Natanz had been "accurately determined".
It declined to give further details, citing security reasons.