An eight-year-old child was the sole survivor and had been taken to hospital with serious injuries.
The vehicle had been heading from neighbouring Botswana to Moria in the north of the country, the ministry said in a statement
"It is alleged that the driver lost control, colliding with barriers on the bridge causing the bus to go over the bridge and hitting the ground, where it caught fire," the statement said.
Rescue operations had continued till late with some bodies burned beyond recognition, and others trapped inside the debris or scattered over the crash scene.
The bus had a Botswana licence plate, local authorities said, but the nationalities of the passengers was still being checked.
Transport Minister Sindisiwe Chikunga went to the scene of the crash and promised a full inquiry would be held into its cause.
While South Africa has one of the African continent's most developed road networks, it also suffers from one of the worst safety records.
Just several hours before the crash, President Cyril Ramaphosa appealed to South Africans to take care when travelling during the Easter week.
"Let's do our best to make this a safe Easter. Easter does not have to be a time where we sit back and wait to see statistics on tragedy or injuries on our roads," he said in a statement.
The bus fell from a major bridge linking two hillsides near Mmamatlakala in Limpopo province, around 300 kilometres (190 miles) north of Johannesburg.