South Africa moved cautiously on to 214 for five in reply to England's 458 at the close on the second day of the first Test helped by a gritty performance from Temba Bavuma at Lord's in London on Friday.
England removed captain Dean Elgar (54) and JP Duminy (15) early in the final session to take control of the match with South Africa at 104 for four but a stand of 99 between Bavuma and Theunis De Bruyn, who made 48 each, gave the touring side hope.
England captain Joe Root was out for 190 before Moeen Ali (87) and Stuart Broad (57 not out) lifted the hosts to a commanding first-innings total.
Root, resuming on 184 in his first match as skipper, nibbled at a delivery from Morne Morkel and nicked a catch to wicketkeeper Quinton de Kock, but the 26-year-old right-hander received a standing ovation as he walked back to the pavilion.
Morkel trapped Liam Dawson lbw for nought two balls later, bringing Broad to the crease with the fast bowler immediately going on the attack in a rapid partnership of 46 with Moeen.
Moeen was bowled by Kagiso Rabada for 87 and Mark Wood lasted two balls before he was out lbw to the right-arm paceman.
Broad was joined by James Anderson and the pair entertained the crowd royally with a stroke-laden partnership of 45, Broad clubbing two sixes and Anderson one before the latter was caught by De Kock off Morkel for 12.
Broad was left unbeaten on 57 off 47 balls, including eight fours. Morkel was the pick of the South Africa bowlers with figures of 4-115.
Broad had Heino Kuhn, on debut, caught at first slip by Alastair Cook for one shortly after lunch before Elgar and Amla shared an obdurate second-wicket partnership of 72.
Elgar struck eight crisp fours to reach his half-century and Amla looked intent on another big score for his country when he played across a ball from spinner Moeen which turned slightly to trap the batsman lbw.
Elgar was dismissed soon after tea, caught off bat and pad at short leg by Gary Ballance off Moeen and Broad snared JP Duminy lbw with a full delivery which nipped back into the left-hander.
But Bavuma and De Bruyn showed commendable composure under pressure, defending resolutely and dispatching loose deliveries to the boundary.
De Bruyn, in his second Test, edged Anderson to wicketkeeper Jonny Bairstow just before the close but Bavuma remained on 48 not out with Rabada on nine.
Guess who is the MVP of Windies series?
Coach, not captain, must be the team boss
Kohli backs under-fire Dhoni
In Numbers: Dhoni's waning powers as a finisher!