"We lost 29 students and two of our staff, and the driver died too," said Innocent Mushi, director of the Lucky Vincent Primary School in the northern city of Arusha, which the children attended. The dead included 12 boys and 17 girls, he said.
At least three survivors were pulled from the crash site by rescuers and rushed to hospital.
"It's a huge tragedy," Mushi said.
The accident happened early on Saturday when the bus went off the road and into the Marera river gorge in Karatu district.
The final year primary pupils -- commonly aged between 12 and 14 years old -- were on their way to sit mock examinations ahead of seeking places at secondary school.
President John Magufuli sent his condolences to the families of the dead.
"This accident extinguishes the dreams of these children who were preparing to serve the nation, it is an immense pain for the families involved and for the whole nation," Magufuli said in a statement.
(Except for the headline, this story has not been edited by NDTV staff and is published from a syndicated feed.)