Police said 12 badly burned bodies were counted at the site, 70 kilometers (45 miles) north of the capital Antananarivo.
Hospitals said that 22 other deaths had been confirmed after the late-night crash.
“The bus struggled to climb a road on a hill and fell down a ravine about 20 meters deep,” police spokesman Herilalatiana Andrianarisaona told AFP.
“It caught fire after rolling several times.”
The main hospital in the capital Antananarivo said it had accounted for 18 dead, while a hospital in the town of Ankazobe bear the crash scene reported four dead.
Passengers on the packed bus were travelling from the central town of Soavinandriana to a church meeting in the north-western coastal port city of Mahajanga when the accident occurred.