Pretoria: England's captain Alastair Cook posted his first half-century of the series against South Africa with an unbeaten 67 as they finished on 138 for two, still 337 runs behind, at the close on the second day of the final Test on Saturday.
Cook and Joe Root (31 not out) added 60 for the third wicket at Centurion Park as England, who have won the series, look to get close to the hosts' first-innings total of 475 on a pitch starting to show variable bounce.
Cook is 50 short of becoming the first England batsman to reach 10,000 Test runs.
The touring side had lost opener Alex Hales (15) cheaply before tea when he guided a wide delivery from Kagiso Rabada to Dane Piedt at point for another soft dismissal.
Nick Compton (19) became Rabada's second victim when he fell lbw to a delivery that never got more than a foot off the ground from good length.
South Africa wicketkeeper Quinton de Kock earlier reached his maiden Test century with a fluent unbeaten 129 from 128 balls before running out of partners.
De Kock smashed 17 fours and two sixes in a mixture of finesse and a brutal attack on the bowling.
"It was alright. I got a bit lucky with one or two dropped catches but I'll take it. Hundreds don't come around often," De Kock told reporters.
"I just play it as I see it. If it's in my area I will try to hit it. That's the way I play for my franchise and it's no different here."
England, after picking up the wickets of Temba Bavuma (35) and Rabada (0) early in the morning session, the tourists may have expected to run through the South Africa tail.
But a stand of 50 for the eighth wicket between De Kock and Kyle Abbott (16), and 82 for the ninth with Piedt (19), kept the England in the field until 40 minutes before tea.
Frustration for the touring side was exacerbated by dropped catches, including two off De Kock.
England all-rounder Ben Stokes continued his fine tour with bat and ball as he finished the South Africa innings with figures of 4-86.
"It was hard work, every time we got a wicket they seemed to get back in it," Stokes said. "Too many chances went down as well, we really let them off the hook."