The bus, which was registered in Botswana, carried 46 passengers in all, including the driver.
Following the collision at Mamatlakala in the northeastern province of Limpopo, the bus caught fire.
People from Botswana were apparently being transported by passenger bus to Moria in Limpopo, which is the site of a well-known Easter pilgrimage.
Rescue efforts carried out into the late hours of Thursday night. While some corpses were buried beneath the rubble, others had been charred beyond recognition.
In a statement, the office of South African President Cyril Ramaphosa expressed his condolences to Botswana and promised to support the nation.
Yousra Elbagir, the Africa correspondent for news, has reported that catastrophes such as this during the Easter weekend are not unusual in South Africa, where 252 people lost their lives in wrecks during the four-day weekend last year.