Chris Morris finished with figures of 3-38 as England’s lower order collapsed and were bundled out for 205 in 51.5 overs.
England were on the back foot from the get go. They lost two early wickets in the first session, as Alastair Cook and Keaton Jennings were knocked over to leave the score at 3-2 (4.1 0vers).
England captain Joe Root steadied the ship as he raced to his half-century off 40 balls, but his 83-run partnership with Gary Ballance (27) was ended by Vernon Philander, to put the hosts on the back foot at 86-3.
Wicketkeeper-batsman Jonny Bairstow joined his captain in a 57-run stand, but Morne Morkel got the important scalp of Root, finding his edge as the game started to turn in the Proteas’ favour.
With the side marching well past the 150-run mark, Faf du Plessis made a game-changing decision to bring in Keshav Maharaj.
The spinner took out Ben Stokes for a 12-ball duck in his third over, followed by clean-bowling Bairstow on 45, as England were pinned back on 184-6 (42.0) at tea.
What took place after the break was remarkable. Chris Morris chipped in with a double-wicket maiden just five overs into the last session. Maharaj took his third in the following over and Morris wrapped things up as he finished with 3-38.
England were bowled out for 205, the Proteas taking a lead of 130 runs into their second innings.
Photo: Stu Forster/Getty Images