Rescue workers are searching the charred remains of houses and cars after a gas tanker exploded on a motorway in a suburb of Mexico City.
Mexico state officials said at least 22 people had been killed and 36 injured in the blast.
The explosion happened at 05:30 local time (10:30 GMT) on the highway between Mexico City and the city of Pachuca.
The driver of the lorry is under arrest in hospital, where he is being treated, officials say.
Assistant State Prosecutor Jose Luis Cervantes said the lorry hit a centre divider on the highway, about 14km (8.6 miles) north-east of the Mexican capital.
The lorry was hauling two gas tanks, one of which flew into a house and exploded, killing 15 people.
Mario Lopez managed to escape from the three-story home with his three sons.
"Everything was in flames," he said. "We got down and left crawling," he described.
The second tank hit another home, killing a family of four.
Neighbour Rogelio Martinez said residents did what they could to help rescue people.
"We just pulled out burned people, and put out the fire in the houses, but we don't really know what happened," he said.
Some of the casualties were asleep in homes in poor areas along the edge of the road.
Mexican media said the area resembled a "war zone," with nearby homes and cars completely burned out.
"It was a ball of fire," resident Carlos Gonzalez Silva told local radio, according to Reuters.
"We opened the door and it was like fire had blown through the whole of the garden."
At least 30 homes and 20 cars were damaged, according to local media.
The explosion is the latest in a series of accidents involving heavy goods vehicles and overloaded lorries.
In 2012, the government announced measures to lower the maximum weight allowed on freight vehicles and on Tuesday the transportation department said it had set up a panel of experts to further study the issue.
Reproduced under licence from BBC News © 2013 BBC