The bus was travelling from Dhaka to the port city of Chittagong carrying passengers leaving the capital ahead of a transport blockade called by political parties due to begin on Sunday, witnesses said.
Police said at least 55 people died in the accident. Local officials and witnesses put the death toll at around 70. They said grieving relatives sifted through piles of charred bodies looking for loved ones. But most of the bodies were burned beyond recognition.
The crash occurred near the town of Comilla, 100km (60 miles) from Dhaka, as the bus avoided a taxi coming in opposite direction, witnesses said. The accident happened on a busy highway near the town. The gas cylinder on the bus, run off natural gas, exploded and triggered the fire, they said.
Survivors told reporters the bus was carrying passengers both inside and on the roof. Abdur Rashid, assistant director of Comilla fire brigade, said they had completed their search of the bus and found 41 dead bodies.
Eight people suffered burns and were being treated in hospital. Six more were uninjured except minor cuts and bruises. "Most of the dead bodies were beyond recognition," he said.
Survivor Jyotsna Akhter, 19, a garment worker, fled for her life as flames swept through the bus within seconds of the explosion killing her mother, brother and sister. "First there was a loud explosion and then I saw flames in the bus," she said, breaking down in tears.
"As soon as the bus caught fire, it turned over and all of a sudden there was fire everywhere. I was sitting at the front by the door so I jumped from my seat and got out," she said. Rashid said the fire spread so quickly it would have been impossible for the passengers to have escaped.
"It seems the whole of the bus was engulfed in just minutes so they had no chance to get out," he said. Comilla police superintendent Mohammad Shahed said survivors told police the bus had been travelling at high speed at the time of the accident.
It was not known if the bus driver was among the survivors. Bus accidents are common in Bangladesh especially during major religious festivals when millions of people travel to their home villages to celebrate with their families.
Buses are frequently dangerously overloaded and drivers complain that they are under constant pressure to complete journeys as quickly as possible.