At least 22 children drowned on their way to school when their boat capsized in swollen waters of the Nile river north of the Sudanese capital on Wednesday, official media said.
A woman on board also died when the vessel carrying more than 40 children sank about 750 kilometres (470 miles) from the capital, SUNA news agency reported.
Rescue workers were sent to recover victims' bodies, according to the Sudanese civil defence and a witness.
"This morning, 22 schoolchildren and one woman died when their boat sank in Bouhayra in Nile State as they travelled to school from Kneissa," SUNA reported.
"The accident was caused by engine failure half-way across because of a strong current," it said.
According to witness Ibrahim Hassan, at least nine children survived the ordeal.
SUNA said the small boat was overloaded, carrying about 30 sacks of sweet potatoes and 10 bags of grain in addition to the children and the woman, an employee at a local hospital.
Villagers in the region rely on wooden boats to cross the Nile.
Another witness told AFP by telephone that the boat had been crossing the river against the current.
"All the families (in the area) are in mourning," said the witness, who did not want to be named.
In the deadliest Nile accident of its kind in Sudan, 50 students drowned in August 2000 when their wooden barge overturned 350 kilometres southeast of Khartoum.
In September 2014, 13 Sudanese drowned when a boat sank north of Khartoum.
The Nile, which is nearly 6,700 kilometres long, is formed by the convergence of the White Nile, which has its source in Lake Victoria, and the Blue Nile, which originates in Ethiopia's Lake Tana.
The two rivers meet in Khartoum before the Nile crosses through Egypt to reach the Mediterranean.
Water levels in the Nile rise every year during the rainy season in Ethiopia, and United Nations aid agencies regularly warn of floods in Sudan between July and November.
Heavy rains in Khartoum on Wednesday morning flooded the capital's streets and electricity was cut in most neighbourhoods.
Authorities in the capital announced the suspension of classes until the end of the Islamic holiday of Eid al-Adha on August 25.
In August 2013, floods killed 50 people, most of them in Khartoum.