James Anderson marked his 150th appearance with a wicket off the first ball of the series before England lost a little of its early impetus in the opening test as South Africa reached 277-9 at stumps on Thursday.
Anderson forced Dean Elgar out caught behind down the legside at SuperSport Park to give England immediate reward for loading its bowling attack with quick bowlers and putting South Africa in to bat.
Stuart Broad, Anderson's long-time pace partner, and newcomer Sam Curran followed up as South Africa struggled to 111-5 soon after lunch before recovering.
Broad took three wickets and Curran 4-57 in his best bowling performance for England so far.
Quinton de Kock led a middle-order revival for South Africa with his 95 off 128 balls. De Kock blasted 14 fours to hit South Africa out of trouble and found help from debutant Dwaine Pretorius (33) and Vernon Philander (28 not out).
Curran removed de Kock just short of his century, Broad had Kagiso Rabada for the final strike of the day, and Jofra Archer also picked up a wicket to give all of England's four front-line fast bowlers some success.
Anderson had 1-69 on his return from a calf injury that's kept him out since the beginning of the Ashes series. He's the first bowler ever to play 150 tests.
While celebrating that achievement, his first offering of the series was wayward down the legside. Elgar still managed to push his bat out at it and edge behind to wicketkeeper Jos Buttler. Anderson leaped in the air in celebration.
Curran claimed the wicket of Aiden Markram (20) in his first over into the attack — England's first change. Broad sent back Zubayr Hamza (39), South Africa's new No. 3 following Hashim Amla's retirement, shortly before lunch.
Curran and Broad both struck to remove Rassie van der Dussen, the second South African on debut, and captain Faf du Plessis (29) respectively soon after lunch.
The Proteas were in deep trouble at that point. It was the kind of start England captain Joe Root was hoping for.
There was also a sense of relief for Root that England's leading two pace bowlers came through their first challenges of the four-test series. The 37-year-old Anderson had bowled just four overs in test cricket since February before this match. Broad had struggled in the buildup to the first test in South Africa with a flu-like illness that struck down a number of England's touring players. Broad had spent nearly a week in bed recovering. Batsman Ollie Pope missed out on selection for the series opener completely and was one of three England players still sick and quarantined at the team hotel.
Jonny Bairstow came into the team for Pope but the attention was on England's bowling attack. Star allrounder Ben Stokes also played and added a fifth pace option. His father was in a critical condition in a Johannesburg hospital earlier this week suffering from a serious illness while vacationing in South Africa to watch his son play. Ged Stokes has improved and is now stable. That allowed England's vice captain and most important player to take part in the first test and Stokes collected catches to get rid of Hamza and tailender Keshav Maharaj.
The 21-year-old Curran was undoubtedly the spark for England, though, as was de Kock for South Africa.
The left-handed wicketkeeper-batsman attacked from the moment he arrived at the crease with South Africa under pressure. He just missed a sixth test hundred when Curran cleverly found enough movement with the old ball to produce an edge behind to Buttler.