Police said they retrieved 28 bodies from the private passenger bus after it veered off the road and fell into the canal in the Mandya district of the southern state of Karnataka.
A police officer at the scene told AFP that many of the victims were children returning from school.
"Many children are among the 28 dead," a police official told AFP by phone.
Police could not provide the exact number of passengers on board or the cause of the crash but said the driver was apparently speeding.
Local media said around 35 people were in the vehicle.
Video footage on television showed locals using ropes to reach the submerged bus and pull out the bodies. Emergency workers and divers joined the volunteers to help.
According to NDTV news channel, the victims were unable to get out of the bus, which had fallen on its side, as the doors were trapped against the floor of the canal.
State chief minister H D Kumaraswamy promised help to the families of the victims.
Road crashes in India claim the lives of more than 150,000 people each year. Most accidents are blamed on poor roads, badly maintained vehicles and reckless driving.
About 50 people were killed in neighbouring Telangana state in September after a bus plunged into a valley in September.
On Thursday, six school pupils were killed after their van collided with a bus in central Madhya Pradesh state.