A Sepahan Air Iran-140 plane bound for Tabas in northeast Iran crashed in a residential area after taking off from Tehran's Mehrabad airport on Sunday morning, killing all 48 passengers and crew, Iranian state media reported.
The Civil Aviation Authority said the passengers included two infants and three children under the age of 12, the official Islamic Republic News Agency (IRNA) reported.
The plane crashed into the Azad residential block on Mina 6 Boulevard, IRNA reported. State television reported at least three people in the area were taken to hospital with burns.
A photograph on IRNA's website showed a huge plume of black smoke billowing over traffic standing at a road intersection. A photograph from the Iran Student News Agency showed a charred tailfin lying on the ground.
A spokesman for Tehran's Fire Department was quoted by IRNA as saying the bodies are being transported to the coroner's office.
IRNA reported that an engine shutdown caused the crash. Iran's aviation sector has suffered repeated crashes which have been blamed by Iranian politicians on international sanctions.
Those sanctions have restricted Iranian carriers from buying new aircraft. For years, planes have been kept in service through parts imported on the black market, cannibalised from other planes or reproduced locally, aviation sources say.
The plane that crashed - an Iran-140 - is a locally assembled version of the Antonov-140.
Iran's four largest carriers - Iran Air, Iran Aseman Airlines, Mahan Air and Iran Air Tours - all have average fleet ages above 22 years, Iranian media have reported. They serve a market of 76 million people.
US companies Boeing Co and General Electric Co have said they are seeking to export parts to Iran under the agreement for sanctions relief.
The chief of Iran Air said the airline will need at least 100 passenger jets once sanctions against the country are lifted.
Mehrabad is located in a western suburb of Tehran and mainly functions as a domestic airport, although it also serves some international routes.