England will go into day two sitting pretty at 317/5.(SABC)
Half centuries from Alex Hales (60), Joe Root (50) and Ben Stokes (74*) ensured that England were in the driving seat after Saturday's opening day of the second Test at Newlands.
It was a frustrating day for the Proteas, who threatened to get a wicket-taking run going on more than one occasion, but were instead met by firm English resistance each time.
England will go into day two sitting pretty at 317/5.
Kagiso Rabada (3/74) had bowled his side back into the game with the wicket of Nick Compton (45) on the stroke of tea, and it got even better for the hosts when they returned for the final session.
Rabada, tail up after the Compton wicket, dismissed James Taylor first ball after the break when he got the batsman driving unnecessarily. Quinton de Kock made no mistake behind the stumps, and all of a sudden England had gone from 167/2 to 167/4.
The Proteas would have been desperate to make the most of the first bit of momentum they had found all day, but in Stokes they were met with more resilience.
Stokes and Root steadied the ship for England, and it took them 70 balls to bring up their 50 partnership.
That was all it took to transfer the pressure firmly back onto the Proteas, and when Root brought up his own half century in the 68th over, his wicket had become the most prized.
But the No. 3 ranked batsman in Test cricket was out to the next ball he faced, and he became Chris Morris's first Test wicket in the process.
Root nibbled at a Morris delivery that he could easily have left alone, and the result was an edge through to De Kock and a massive wicket for the Proteas.
Wicketkeeper Jonny Bairstow joined Stokes, and with the Proteas smelling blood once more, they got things back on track for England.
Stokes brought up his 50 in the 81st over - one which cost the Proteas and Morris 21 runs after taking the new ball - while Bairstow was unflappable at the other end.
Stokes was dropped on 61 by Faf du Plessis off the bowling of Rabada in the 82nd over, and that would be the last chance the Proteas had on day one.
By the end of the day Stokes had raced along to 74*, while Bairstow had contributed 39* to their undefeated 94-run partnership.
And, while the English onslaught was in full swing, Morris was finding out just how tough cricket can be.
The Highveld Lions man finished the day with figures of 1/99 from just 22 overs.