South Africa were bowled out for 247 in reply to England's first innings 593 for eight declared, a deficit of 346, on the third day of the first Test at Lord's in London Saturday.
England left-arm spinner Monty Panesar took four for 74 with Ashwell Prince, who made 101, scoring a century in his first Test innings against England.
Michael Vaughan, the England skipper, immediately enforced the follow-on.
Earlier, South Africa fought back in the afternoon session after losing early first innings wickets.
Resuming at seven for no wicket after England had declared their first innings closed at 593 for eight, Ashwell Prince and AB de Villiers took their team from 83 for four to 156 without further loss at tea.
Left-hander Prince, the most assured of the batsman, completed his eighth test half-century from 82 deliveries with eight fours. At the interval he was on 52 while de Villiers had scored 38.
England captured the coveted wickets of captain Graeme Smith (8), Hashim Amla (6) and Jacques Kallis (7) in the opening session.
Smith was caught from the 12th delivery of the morning when a James Anderson delivery took the outside edge and flew head high to Ian Bell in the gully.
Stuart Broad replaced Ryan Sidebottom at the Nursery End and claimed Amla’s wicket, caught behind by Tim Ambrose.
England first innings 593-8 decl
South Africa first innings
G Smith c Bell b Anderson 8
N McKenzie b Panesar 40
H Amla c Ambrose b Broad 6
J Kallis c Strauss b Sidebottom 7
A Prince c Ambrose b Sidebottom 101
AB de Villiers c Anderson b Panesar 42
M Boucher b Broad 4
M Morkel b Panesar 6
P Harris c Anderson b Panesar 6
D Steyn c Sidebottom b Pietersen 19
M Ntini not out 0
Extras (b-1 lb-4 w-3) 8
Total (all out, 93.3 overs) 247
Fall of wickets: 1-13, 2-28, 3-47, 4-83, 5-161, 6-166, 7-191, 8-203, 9-245.
Bowling: Sidebottom 19-3-41-2, Anderson 21-7-36-1 (1w), Broad 23-3-88-2 (2w), Panesar 26-4-74-4, Collingwood 4-1-3-0, Pietersen 0.3-0-0-1.