The minibus burst into flames after the collision.
A minubus crashed and burned on Friday killing at least 20 children in a horrific traffic accident outside the South African capital Pretoria.
The bus driver also died while the driver of the truck survived.
"The fire services had already extinguished the burning vehicle, which was found lying on its side", Russel Meiring, a spokesman for the ER24 emergency medical service told news agency AFP.
Their injuries ranged from minor to critical. It happened between the communities of Verena and Bronkhorstpruit.
The Gauteng Province's education department tweeted "18 learners" and two adults were killed on the scene after the bus collided head-on with a truck.
"Paramedics arrived on the scene to find the fire services already in attendance".
It is not yet known what the cause of the accident was, but pictures show the minibus entirely burnt out. The other children were found outside the minibus.
It was announced on Friday that road deaths over the long Easter weekend had jumped 50% compared to a year ago.