Ben Stokes hit his first century since being appointed England's full-time captain and wicketkeeper Ben Foakes also reached three figures as the hosts established a commanding lead over South Africa in the second Test in Manchester on Friday.
Stokes made 103, with Foakes a Test-best 113 not out when his skipper declared England's first innings on 415-9, a lead of 264 runs, after South Africa had been dismissed for a meagre 151.
That left World Test Championship leaders South Africa with a tricky nine overs to bat before the close of the second day at a sun-drenched Old Trafford.
But the Proteas, 1-0 up in this three-match series after a dominant innings and 12-run win in the first Test at Lord's, were 23-0 at stumps -- still a deficit of 241.
Sarel Erwee was 12 not out and South Africa captain Dean Elgar unbeaten on 11.
Earlier, Stokes and Foakes shared an impressive partnership of 173 after coming together with England wobbling at 147-5 following a double strike by express fast bowler Anrich Nortje that removed both overnight batsmen -- Jonny Bairstow (49) and opener Zak Crawley (38).
PAY ATTENTION: Subscribe to Digital Talk newsletter to receive must-know business stories and succeed BIG!
"I was overjoyed getting a Test hundred," Foakes told Sky Sports after a second century in 16 matches at this level and first at home following his 107 on debut against Sri Lanka in Galle in November 2018.
The 29-year-old Surrey gloveman, whose England career has been interrupted by injuries and, more recently a bout of Covid-19, added: "When you go through a lean patch, it makes it even more special."
"It's obviously not easy and they've got a fantastic bowling attack so it was tough out there."
Nortje, despite being the pick of the Proteas' attack with overall figures of 3-82 in 20 overs, was curiously underused by Elgar while bowling just nine overs in Friday's first two sessions.
"Dean had a plan according to what the situation told him," Nortje told reporters.
"We can't go too deeply into who bowled when. It was a good wicket to bat on and they did bat well."
By recalling Simon Harmer as a second spinner to their attack, in the hope the pitch at Old Trafford would offer more turn as the game went on, South Africa had almost been obliged to bat first upon winning the toss.
But off-spinner Harmer, a prolific wicket-taker with county side Essex, and slow left-armer Keshav Maharaj could only manage three late-order wickets between them for a combined 151 runs in 45.4 overs
Harmer's first delivery on Friday, a full toss, was stroked through the covers for four by Foakes and, three balls later, Stokes swept him for six.
Left-handed batsman Stokes went into the 80s with a straight six off Maharaj.
South Africa took the new ball as soon as possible, with England 288-5 off 80 overs, only for Stokes to glance the next delivery, from Lungi Ngidi, for four.
But the second delivery with the new ball almost proved Stokes's undoing on 92 when a diving Aiden Markram at extra cover failed to hold what would have been a spectacular catch off a hard-hit drive.
All-rounder Stokes, 98 not out at tea, went to three figures in unusual fashion when a straight drive off Kagiso Rabada deflected off the fast bowler's shin to take him to a 158-ball hundred, including six fours and three sixes.
But he fell soon afterwards when a leading edge off Rabada was well caught by the back-pedalling Elgar at mid-off.
England, however, were now 320-6, having recovered well in this match after a loss at Lord's that represented their first defeat after four successive wins under the new leadership duo of Stokes and coach Brendon McCullum.
And for all the talk of a new 'Bazball' aggressive style, the 31-year-old Stokes's well-paced innings -- his 12th hundred in 85 Tests and fourth against South Africa -- was also a triumph of largely orthodox batting.
Foakes completed a hundred of his own when he late cut Nortje for a ninth four in 206 balls faced.
England's tailenders then chipped in with some extravagant shots before Stokes called a halt.