The incident occurred around 1am on Wednesday, said Bekutia Port Supervisor Md Rafiqul Islam. Service on the Kurimara-Bekutia ferry has been halted due to the accident.
Two people have been injured in the accident, the supervisor said. The bus passengers were able to disembark before it sank.
The halt in ferry service has caused heavy traffic congestion on the Khulna-Pirojpur-Barisal regional highway.
The ferry was carrying a bus, five trucks and three pickup vans from Kurimara to Bekutia, said Barisal BIWTS Ferry Division Executive Engineer Mohammad Shamimul Haq.
A lighter barge (which carries cargo to and from a larger ship) rammed the ferry and broke the back plate as it was partway on its journey. The ferry driver managed to land it on a nearby sand bar.
Another ferry is being arranged, said Executive Engineer Haq. He hopes service can resume after it arrives in the afternoon.