Local residents and police rescued most of the people in the bus while a few passengers swam to safety, said Ramalinga Reddy, Karnataka's transport minister. Dozens of survivors had minor injuries, Reddy said.
The bus had a capacity of 50 passengers but was carrying 62 people when the accident happened Tuesday.
Reddy said the bus driver swerved to avoid a scooter and lost control of the vehicle, which plowed into the lake.
India has the world's deadliest roads, with more than 110,000 people killed annually. Most crashes are blamed on reckless driving, poorly maintained roads and aging vehicles.