The ferry, heading to Paturia from Daulatdia in Rajbari, was hit by the cargo trawler in the Padma River - one of the Bangladesh's largest trans-boundary rivers, a senior police official of Manikganj district said.
The site is 40 kilometres northwest from here.
Deputy Assistant director Abdul Halim of Fire Service said they retrieved 48 bodies, Dhaka Tribune reported.
There were conflicting reports as to how many people were travelling in the ferry, with some media outlets putting it at 200 while others put the figure between 100 and 150.
More From This Section
Fire service officials said the ferry was submerged at a depth of up to 6 meters.
"I was on the deck of the ferry when it was struck...I fell into the river like many others who were beside me on the deck but those who were inside the cabins were stuck inside," a passenger told TV channels.
Police said the captain of the cargo ship and two crew members of the ferry have been arrested.
'The Daily Star' earlier reported six children and 11 women were among those killed, including a six-month-old girl, who after being rescued from the Padma river in which the ferry sank was later declared dead at the hospital.
The latest maritime tragedy is Bangladesh's deadliest since August last year when around 130 people were killed after a ferry sank in a river.
Ferry disasters are common in Bangladesh due to poor safety standards.
On February 13, at least five persons, including a minor, were killed when an overloaded ferry carrying 200 passengers, mostly devotees, capsized in the Paira river.