The Saha Airlines plane carrying 157 passengers plunged into a river at one end of the runway, reports quoting the Iranian state-run television said.
Officials said all but one child were accounted for. The child died, the Islamic Republic News Agency (IRNA) said based on witnesses' accounts.
Iranian television had initially been quoted by news-agencies as saying that 50 passengers had died.
The television said the plane's left engine caught fire while the plane taxied on the runway at Tehran's Mehrabad airport.
Shortly after landing, smoke and then flames poured out of the Boeing, travelling from the Gulf island of Kish.
"For unknown reasons it crashed into the river just before the runway," Reza Jafarzadeh, spokesman for Iran's Civil Aviation Organisation, said.
"Up to now there have been no reports of fatalities and just one child is missing," he added.
IRNA said the child who died jumped from the plane into the river. It said many passengers broke arms and legs after jumping from the wreckage because emergency chutes failed to function.
IRNA said witnesses complained flight attendants abandoned the plane before passengers.
State media carried various accounts of the crash.
IRNA said a tyre burst on landing, while the state television channel said the plane was unable to put down its landing gear due a technical fault. Another Iranian TV channel said the plane had crashed into a small river before the runway.
Speaking to state television, the head of the airline, identified only by his second name Nikoukar, said early indications were that the plane had hit a hollow at the start of the runway as it came in to land. He said the plane was also carrying 16 crew.
Saha Airline Services is owned by the Iranian military, but also operates civilian flights. It was not immediately known whether military personnel were on board.
In 2003, Iran suffered its worst air disaster when a Russian-made Ilyushin military plane crashed in a mountainous area killing 302 soldiers. The plane was en route from Kerman, about 800km southeast of Tehran.