Police say there was a landslide two days before the crash, and that rain may have caused the bus to skid off the mountain road.
Police say a rescue operation is ongoing to reach casualties and that others are injured after the accident in the Pauri Garhwal district in Uttarakhand, northern India.
About 45 passengers were said to be on board the 28-seater bus, which was travelling from Bhoan to Ramnagar.
There are differing reports on the number of dead and injured from the scene, but police have said at least 40 of those on board have died.
"Rescue operations are on and we are still not sure about the final count of dead bodies," said one police official.
Trivendra Rawat, the chief minister of Uttarakhand, said the bus skidded and fell into a 700ft (213m) deep gorge.
Senior police official Sanjay Gunjiyal said 20 bodies had so far been pulled out of the wreckage, but that rescue work was being hampered by bad weather.
The cause of the crash is not yet known but Mr Gunjiyal said rain could have caused the bus to skid off the road.
He said: "It is raining (in the area) since morning. Two days back there was a landslide in that area."
More than 110,000 people are killed every year on India's deadly roads.
Most crashes are blamed on reckless driving, poorly maintained roads and ageing vehicles.