More than 70 people were admitted to hospital after the crash in the northern province of Semnan on the main line between the capital Tehran and second city Mashhad, Mohammad Reza Khabbaz told state television.
The express train, operating one of Iran’s longest distances services from Tabriz in the northwest to Mashhad, had been forced to stop between stations by a mechanical failure, perhaps caused by the cold November weather, Khabbaz said.
Two of its coaches burst into flames when the train behind ran into the back of it at 7:50 am (0420 GMT).
The front four coaches of the second train — running from Semnan to Masshad — derailed and overturned.
“One minute I was sleeping and the next I was being carried out of a coach on fire,” one hospitalised passenger told state television.
Initial reports had said that the express train was stopped in a station when the accident happened.
But Khabbaz said it was some four kilometres (two and half miles) outside Haft Khan station between Semnan and Damghan, the next major town.
At midday emergency services were still battling to put out the fire and rescue injured passengers from the overturned carriages.
The province’s Red Crescent director, Hassan Shokrollahi, said the remote location of the crash site had complicated rescue efforts.
“Due to the difficulty of access, only our helicopter has managed to reach the scene,” he said earlier in the day.
The injured were taken to hospitals in Semnan and Damghan.