The bus had set off from Tunis to the picturesque northern mountain town of Ain Draham, a popular autumn destination for Tunisians near the Algerian border, the tourism ministry said.
Twenty-four people were killed and 18 injured, the victims aged between 20 and 30, said the health ministry.
An AFP team that went to the scene saw the mangled remains of the bus leaning on its side in the ravine near a river bed, with its seats scattered around the crash site.
The top of the bus appears to have been torn off and bodies, some in sports clothes and trainers, were strewn across the ground.
A sign reading in English “Sweet Time Travel” — apparently the name of the travel agency that ferried the tourists from Tunis — lay among the debris.
The bus with 43 people on board was travelling through the northern Ain Snoussi region when it veered off the road, the interior ministry said.
The vehicle had “fallen into a ravine after crashing through an iron barrier”, it said on its Facebook page.
The injured were transferred to nearby hospitals, it added.
Forensic experts were deployed to investigate the crash, AFP correspondents said.
It was not immediately clear what caused the accident, but Tunisian roads are known to be dangerous and run-down.
Tourism Minister Rene Trabelsi told a private radio station Mosaique FM that the “unfortunate accident took place in a difficult area” and just after the bus had taken a “sharp bend”.
A civil defence official, speaking on state television, said there had previously been deadly accidents at the same spot.
Khaled Ayadi, who had arrived at the scene after the accident, told AFP he saw the bodies of “people scattered (all around) and blood”.
He said that he and other motorists who had stopped by the side of the road started to help and try to retrieve the bodies until the rescuers arrived and took over the gruesome task.