
The Red Cross put the toll at 48 dead, including 16 children, but police said 22 died and 14 were injured.
The accident was one of the deadliest in Uganda in recent years and happened in heavy rain on Friday night in Kiryandongo, 220 kilometres (140 miles) north of the capital Kampala.
“On directive of HE President Museveni, government is declaring three days of National Mourning,” starting on Sunday, said a statement from Prime Minister Ruhakana Rugunda.
Initial investigations “point to speeding and vehicles in faulty mechanical conditions as the cause of the accident,” the statement said.
Families of the dead would each receive five million shillings (RM5,300), while the injured would be paid three million shillings (RM3,200) each.
More than 9,500 people died in road accidents in Uganda between 2015 and 2017, according to the transport ministry, with the situation worsening each year.
A UN report last year found 10 people die on the roads every day and that road accidents cost the country US$1.2 billion (RM4.8 billion), or 5% of Gross Domestic Product.
In 2015, Museveni fired 900 officials in charge of building and making roads, holding them accountable for the abysmal state of the network.