The mishap occurred near Kunimelli bridge, about 14 kms from here, police said.
The bodies of the victims are yet to be identified, Haveri SP Shashi Kumar said, adding that the Volvo bus with 52 people on board had left Bangalore last night.
Police said the seriously injured passengers were admitted to hospital in Hubli, and those with minor injuries are being treated at Haveri district hospital.
The bus owner said the cleaner was safe but he had no information about the two drivers, with whom he had been trying to establish contact.
The tragedy comes two weeks after 45 people had died when a Volvo bus from Bangalore to Hyderabad had caught fire after hitting the median on the national highway in Mahabubnagar district of Andhra Pradesh.