A debut century for Stephen Cook helped South Africa build a healthy total before England fought back on day one of the fourth Test. The hosts ended the first day at the Centurion 329-5 after controlling the first two sessions until England took four wickets after tea to halt their progress.
Cook (115), making his debut at the age of 33, led the charge for his side alongside former captain Hashim Amla (109) but England's hopes of securing a 3-0 win from their tour remain alive.
A brilliant piece of fielding from James Taylor helped break the opening partnership of Cook and Dean Elgar as the latter departed for 35. Off Moeen Ali's delivery, Elgar swept into short leg where Taylor ghosted across to block the shot, deflecting the ball up his leg before catching it between his thighs before it hit the floor.
Cook pushed the home side over the 50-mark with a safe four but his new partner Amla was lucky survived a drop catch moments later, as Ben Stokes drew an edge only for keeper Jonny Bairstow to drop it in front of first slip.
Other than Taylor's piece of brilliance, England slogged through a fruitless morning with Cook's unbeaten 91 and a century from Amla frustrating the tourists as they reached tea. England reached a breakthrough however when Amla was finally dismissed for 109, with Stokes finding the opening with a vicious delivery that caught the former captain inside edge before clattering the stumps.
AB de Villiers entered the fray but was soon on his way back out without a run to his name after edging Broad's delivery into the outreached hands of Joe Root at second slip. Things threatened to turn bad to worse after another fine delivery from Stokes appeared at first glance to catch Cook lbw, but he escaped a dismissal following a review.
After an hour stuck in the 90s, Cook clinched his century, sealing it with a fine four before his impressive debut innings was brought to a close when Chris Woakes' delivery was edged onto the stumps, leaving him with more runs than his father Jimmy managed in his entire Test career. He was also the 100th player to score 100 on his Test debut, and his father watched him do it from the stands.
JP Duminy (16), recently recalled to the Proteas squad, endured a horrible moment with the bat, wildly swinging at Moeen's delivery that hit him in front of the stumps to signal the end of his brief innings. Temba Bavuma and Quinton de Kock added an unbeaten 56 before the first day drew to a close.