The blaze on the three-decked vessel started mid-river near the town of Jhalakathi as it sailed from the capital Dhaka to the town of Barguna.
Some of the victims drowned after jumping into the water.
The number of casualties in Friday’s disaster is likely to increase as many of the passengers have severe burns.
As many as 500 people were reportedly on board the vessel.
The fire is believed to have started in the engine room and quickly spread as the ferry travelled along the Sugandha River in the early hours, fire services official Kamal Hossain Bhuiyan told local media.
The blaze reportedly continued for hours.
One passenger, who survived, an elderly grandmother, told AFP that most people had been sleeping when the fire broke out.
“We were sleeping on a mat on the ground floor deck,” she said. My nine-year-old grandson, Nayeem, was with me, he jumped into the river. I don’t know what happened to him.”
A special committee has been set up to investigate the incident, according to reports.
Barguna is about 250km (155 miles) south of Dhaka.
Ferry accidents are not uncommon in Bangladesh, with incidents blamed on overcrowding, and poor maintenance and safety standards in the country’s many shipyards. Vessels often sink in bad weather.
In June 2020, dozens of people were killed when a boat carrying about 50 people capsized near Dhaka.