Ben Stokes and Steven Finn claimed two wickets each and Jonny Bairstow enjoyed a fine day with the gloves as England edged day one of the fourth Test against South Africa.
England, who are hoping to take an unassailable 2-0 lead in the four-match series, chipped away after a slow start in Johannesburg as South Africa closed Thursday's play on 267-7.
Finn (2-50) was rewarded for his accurate and disciplined bowling at the Wanderers, while Stokes (2-53) - who scored England's fastest double Test century in the drawn second Test - also impressed with the ball.
Bairstow, whose wicket-keeping skills remain under scrutiny, pouched each of South Africa's top four and, along with substitute fielder Chris Woakes, effected the run out of Temba Bavuma (23), a centurion in the last Test in Cape Town.
South Africa were well set at 73-1 by lunch, but let the initiative slip in the afternoon when Dean Elgar (46) and Hashim Amla (40) fell.
Stokes then clinched the crucial wicket of new captain AB de Villers (36) after tea, and three more wickets fell before Chris Morris (26 not out) and Kagiso Rabada (20no) led a recovery from 225-7.
Having won the toss, De Villiers opted to bat and that appeared a good decision as England, who had several members of the team battling a stomach bug, struggled to make breakthroughs.
It was a chaotic morning for South Africa who had to fly Dane Vilas from Port Elizabeth to Johannesburg to replaced injured wicket-keeper Quinton de Kock.
South Africa ticked along steadily, though, and were 40-0 after the first hour, but opener Stiaan van Zyl (21) soon departed with a poor attempted pull off Stokes that top-edged behind to Bairstow.
Elgar and Amla - who resigned the captaincy after the drawn second Test - appeared well set, although the latter survived an lbw review off Stokes on umpires call when on 26.
But their 73-run partnership was ended when Elgar's misjudged cut from Moeen Ali (1-50) was taken by Bairstow.
And Finn was rewarded for a disciplined spell in the afternoon when he got the ball to move away from Amla, who edged behind.
De Villiers was typically attacking in his approach and he signalled his intent by smashing Moeen out of the ground over cow corner.
Those natural instincts proved his undoing, though, as he was tempted by a hook off Stokes that he gloved behind.
Faf du Plessis (16) then popped Finn to Alex Hales at backward square, before Bavuma was run out in calamitous circumstances following a mix-up with Vilas.
Stuart Broad, who had toiled for much of the day, then got in on the wickets as he drew Vilas (26) with a shorter ball that top-edged to Moeen at long leg.
There was frustration for England, though, as Morris and Rabada put on an unbeaten 42 stand by stumps, the latter riding his luck with several slashes that failed to connect.
Get the best features, fun and footballing frolics straight to your inbox every week.