A South African double-decker bus has crashed in a mountainside in Western Cape killing 24 people, including two children.

The bus veered off a road and rolled over while travelling along Hex River Pass, a stretch of road with a high accident rate, some 80 miles northeast of Cape Town.

"It appears as if the brakes failed and the driver lost control," said Kenny Africa, the police traffic spokesman for the Western Cape province.

"We are recovering more bodies and the death toll may rise."

Eight people were critically injured, three of them children. Government spokeswoman Phumla Williams called it an unfortunate incident.

The Inkatha Freedom Party (IFP) also sent its condolences to the families of those who had died.

"This is a terrible tragedy. We urge people to be extra-cautious when it is raining," IFP spokesman Petros Sithole said.

"The traffic cops and police should investigate whether the bus was overloaded and if so, we would expect the necessary criminal charges to be laid against the bus driver."