Alastair Cook's unbeaten fifty strengthened England's grip on the first Test at Lord's after South Africa had to toil in the field without Vernon Philander on Saturday.
England were 1-119 in their second innings at stumps on the third day, a lead of 216 runs in this opening match of a four-Test series.
Former captain Cook was 59 not out, after more than three hours of typically painstaking effort, with fellow left-hander Gary Ballance unbeaten on 22.
"England are in a strong position, there's no hiding from it," said South Africa batsman Temba Bavuma, who made 59 on Saturday.
Philander, whose five-wicket innings return saw him bowl the Proteas to a series-clinching win at Lord's five years ago, did not bowl a single one of the 51 overs the Proteas sent down Saturday.
Quick Single: Proteas sweat on Philander injury
He was off the field after going for an X-ray on a hand injury suffered when he was hit by James Anderson while making 52 in South Africa's first innings 361 earlier in the day.
It was a worrying absence for the Proteas given they are already without Kagiso Rabada, another member of their pace attack, for next week's second Test at Trent Bridge after he was banned for verbally abusing England allrounder Ben Stokes on Thursday's first day at Lord's.
South Africa, with Dean Elgar leading the side for the first time in the absence of Faf du Plessis on paternity leave, wasted their two reviews in the first 80 overs on Cook.
Both times they challenged sound not out decisions by umpires Paul Reiffel and S Ravi in response to lbw appeals.
But Cook was still on his tea score of 31 when partly unsighted wicket-keeper Quinton de Kock missed a stumping chance off left-arm spinner Keshav Maharaj.
Quick Single: Stump mics back in focus after Rabada ban
Keaton Jennings, born in South Africa but England qualified through his mother and residence, helped Cook put on 80 for the first wicket.
But he fell for 33 when, trying to cut a Morne Morkel ball that was too close to him, he was caught behind by de Kock - who played in the same XI as Jennings when they were both pupils at Johannesburg's King Edward VII school.
Jennings's exit brought in Ballance, under pressure in what was now his third chance at Test cricket and out for just 20 in the first innings.
Cook's three on another sun-drenched day at Lord's saw him to a 127-ball fifty including eight fours of which a cover-drive off Maharaj was the pick.
South Africa resumed on 214 for five - still 244 runs behind England's first innings 458 which featured Joe Root's 190 in his first Test as England captain as well as fifties from Moeen Ali (87), Stuart Broad (57 not out) and Stokes (56).
Bavuma was 48 not out and nightwatchman Rabada unbeaten on nine.
Both Rabada (27) and Bavuma fell to spinners Liam Dawson and Ali respectively.
But after Root took the new ball, de Kock twice struck Broad for three successive fours - the best a whipped drive through mid-on from a ball pitching outside off stump.
It was a typically dashing display by the left-hander, who completed the second-fastest Test fifty at Lord's in a mere 36 balls, including 10 boundaries.
But his next ball proved his last, de Kock slicing Anderson to short square cover where Stokes took an excellent low catch.
"As much as I would love to say it was my idea, it was Joe's," said Anderson of the unusual field placing.
Anderson added: "He's doing well. In particular, yesterday (Friday) when it was a really hot day he could have let bowlers bowl really long spells but he chopped and changed and got the best out of the bowling attack.
"We were really happy to keep them below 400."
Philander made a fine fifty of his own before he was last man out slogging at off-spinner Ali, who finished with fine figures of four for 59 in 20 overs after he completed both halves of the Test 'double' of 2,000 runs and 100 wickets on Thursday.