People look at the wreckage of a bus that plunged into a gorge while transporting children from Arusha to Karatu, on May 6, 2017

At least 29 final year primary school pupils were killed in a bus crash in northern Tanzania on Saturday, along with two teachers and the driver, the school's director said.

"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.