Police spokesman Buddhika Manathunga said 21 people died and another 35 were being treated in hospitals.
Local television showed the bus lying overturned at the bottom of a precipice while workers and others helped remove injured people from the rubble.
The driver was injured and among those admitted to the hospital for treatment. At the time of the accident, nearly 50 people were traveling on the bus.
Manathunga said police launched an investigation to ascertain whether the driver's recklessness or a technical fault of the bus caused the accident.
The bus was operated by a state-run bus company, police said.
Deadly bus accidents are common in Sri Lanka, especially in the mountainous regions, often due to reckless driving and poorly maintained and narrow roads.
Credit: AP
Credit: AP