At least 29 schoolchildren have been killed in a bus crash in northern Tanzania, along with two teachers and the vehicle's driver, according to police and school officials.

A minibus veered off a steep road in rainy conditions near the town of Karatu, in the Arusha region, on Saturday morning and plunged into a river, said regional police commander Charles Mkumbo.

The children, aged 12 to 13, were pupils at the Lucky Vincent school in the nearby town of Arusha, according to Mkumbo.

"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, where the children were pupils.

The dead included 12 boys and 17 girls, he said.

'National tragedy'

Several other children were wounded, some of them severely, according to police.

President John Magufuli described the accident as a "national tragedy" in a statement.

Tanzania, the second-largest economy in east Africa, has a poor road safety network, but buses remain the main form of public transport between towns.

More than 11,000 people were killed in road accidents in Tanzania between 2014 and 2016, according to government data.