The bus, with about 50 passengers on board, crashed on the way to Palembang from Bengkulu on the island of Sumatra in western Indonesia, media cited police as saying.
Authorities were investigating the cause of the crash, highway police officer Riski told Indonesia's TV One.
Pictures showed a line of people trying to pull wreckage of the bus from the river.Traffic accidents are common in Indonesia, with roads often cutting through rough terrain and vehicles often poorly maintained.