More than 1,000 people were injured in the explosion, but most have been able to go home after receiving care, the authorities report. Over 100 people are still in hospital on Monday.
In state TV, images show firefighters battling the flames in the Shahid Rajaee harbor area. The damage will be assessed when the fire is fully under control, according to news reports.
It has not been established what caused the explosion. A representative of the harbor's customs office says that the fire started in a warehouse where hazardous chemicals were stored, according to reports in state media.
Interior Minister Eskandar Momeni says on state TV that negligence regarding safety regulations is behind the accident and that those responsible have been identified.