An unbeaten half century from Joe Root helped England into a commanding position on the third day of the first test as they opened up a 261-run lead over South Africa.
England finished on 172 for three in their second innings, extending their advantage as little went right for the home team with strike bowler Dale Steyn suffering injury and vital catches spilled.
Batting is expected to become more difficult as the wicket at Kingsmead deteriorates over the final two days and England have a firm grasp on the opening game of the four-test series.
Root overtook Alastair Cook as England's leading run scorer for the year as he scored 60 not out with James Taylor unbeaten on 24 at the close.
Cook went early again when he was trapped lbw by spinner Dane Piedt for seven and Alex Hales played a poor shot to be caught at long on for 26 before a partnership of 71 between Nick Compton and Root took the game away from South Africa.
Compton was caught behind for 49 by wicketkeeper AB de Villiers off Morne Morkel, who had twice had him dropped in tired-looking errors by a confidence-drained South Africa side.
Steyn had a scan after he pulled up in the middle of two separate overs with a suspected strain. South Africa were bowled out for 214 just before lunch.