"At least 16 people have been killed. And another 58 were injured. We have sent the injured to different hospitals in the region," local police chief Anisur Rahman told AFP.
Cranes and other lifting gear were brought in to rescue trapped passengers, many of whom were asleep when the early morning crash took place.
"There was a loud noise, then I saw the train was completely ripped apart," one injured passenger told Somoy TV.
"All the people around me were crying. There was blood everywhere. Some people had broken hands and legs," another told the broadcaster. "My son was with me. I still don't know what happened to him," the man added.
Hayat ud Doula Khan, a government official in the district, said the Dhaka-bound Turna Nishitha train, hit the Chittagong-bound Udayan Express at about 3:00 am (2100 GMT Monday) as the Udayan was about to go through Mondobhog station.
Khan told AFP that the Turna Nishitha train should have waited outside the station to let the other one pass. A Bangladesh railway official told reporters faulty signals could be to blame.
"Three coaches were badly mangled and the victims are from these coaches," Khan said, adding that train services out of Dhaka had been halted because of the accident.
Train accidents are common in Bangladesh and are often caused by poor signalling or other rundown infrastructure.