South Africa need a further seven wickets on the fifth day for a consolation victory in the final Test after reducing England to 52-3.
Needing 382 to win, or to survive four sessions to draw, England lost Alex Hales, Alastair Cook and Nick Compton inside 10 overs in Centurion.
Kagiso Rabada, who claimed 7-112 in the first innings, took two wickets.
Earlier, South Africa declared on 248-5, thanks to Hashim Amla's 96 and an unbeaten 78 from Temba Bavuma.
No side has chased more than 251 to win at SuperSport Park, and, given the uneven bounce on a deteriorating pitch, South Africa will reasonably expect to claim victory for a 2-1 series defeat.