England 111 for 3 (Bairstow 38*) trail South Africa 151 (Rabada 36, Anderson 3-32, Broad 3-37) by 40 runs
Manchester: England excelled with the ball in hand before South Africa struck back, but an unbeaten half-century stand has given England the edge at stumps on day one.
South Africa opted to bat first in Manchester after winning the toss and soon found themselves in trouble, losing Sarel Erwee to James Anderson, playing his 100th home Test in the fifth over.
Stuart Broad then went on to bowl a terrific spell, dismissing Dean Elgar and Keegan Petersen in quick succession to leave South Africa at 41/3.
Earlier, the visitors made a bold call in the playing XI, bringing in a second spinner in Simon Harmer, replacing Marco Jansen, whose valuable contributions with the bat at Lord's were missed later in the day.
South Africa were left with Aiden Markram and Rassie van der Dussen, two batters not in the greatest run of form in red-ball cricket, to revive the innings.
Skipper Ben Stokes ensured that wasn't happening by dismissing the duo in back-to-back overs.
Markram top-edged a pull off Stokes in his very first over to be dismissed for 14.
Van der Dussen was trapped in front in Stokes' next over, missing a delivery that nipped back in sharply off the seam.
Post the lunch break, Anderson sent back Simon Harmer and Keshav Maharaj off successive deliveries to leave South Africa at 92/7.
Broad soon sent back the last recognised batter in Kyle Verreynne to grab his 800th international wicket.
The visitors needed the tail to step up and Rabada led the fight with some counterattacking shots. He was ably supported by a composed Anrich Nortje, blocking off anything aimed at the stumps and leaving everything else.
The duo survived 12 overs till tea, putting up a partnership that frustrated England and gave the Proteas a glimmer of hope after an ordinary showing from the batting line-up.
Ollie Robinson, though, struck immediately after tea, sending back Nortje and Rabada eventually miscued one slog to slips off Jac Leach to end South Africa's innings.
South Africa struck back with the new ball with Lungi Ngidi sending back Alex Lees early on in the second over, the delivery jagging away off the seam to catch the edge.
Nortje, who came in as first-change bowler, cleaned up Ollie Pope while Kagiso Rabada sent back Joe Root for his third successive single-digit score in the series.
At 43/3, England's batting looked vulnerable yet again before Jonny Bairstow, aided by some wayward bowling from the visitors, pulled things back in the company of a resolute Zak Crawley.
The unbeaten 68-run stand came off 88 balls and helped England reduce the deficit considerably by stumps.