Heino Kuhn held firm as South Africa made a sound start to be 56 for one after a rain-interrupted session at lunch on the first day of the second Test against England at Trent Bridge on Friday.
Kuhn was 34 not out and Hashim Amla 16 not out, having become the fourth South African following Jacques Kallis, Graeme Smith and AB de Villiers to score 8,000 Test runs.
The Proteas, 1-0 down in the four-match series after a 211-run defeat inside four days at Lord's last week, saw their top order go some way to repaying the faith of returning captain Faf du Plessis, who opted to bat first after winning the toss.
Trent Bridge has a reputation for aiding swing bowling and Du Plessis, who did not play at Lord's following the birth of his first child, admitted it had been a "tricky decision" to bat under cloudy skies.
But the 33-year-old Kuhn, out for just one and nine on Test debut at Lord's, seized upon anything over-pitched or loose on a ground where England have not lost a Test in a decade.
He on-drove veteran paceman James Anderson for four and later square cut Ben Stokes for another boundary.
South Africa did lose a wicket, however, when opener Dean Elgar, their stand-in captain at Lord's, pushed out on six to Anderson and was well caught by a diving Liam Dawson at backward point to leave the Proteas 18 for one off nine overs.
Kuhn had a nasty moment when, on 13, he took his eye off a bouncer from fast bowler Mark Wood and was hit on the side of the helmet.
Amla, meanwhile pulled all-rounder Stokes for a four that saw him to 8,000 Test runs.
After rain stopped play for 20 minutes, England wasted an lbw review after replays showed Amla, then on 14, had inside-edged Stokes onto his pad.
South Africa made three changes to their side from Lord's, with Du Plessis returning in place of out-of-form batsman JP Duminy.
Fast bowler Duanne Olivier, playing in his second Test, started instead of Kagiso Rabada, serving a one-match suspension as a result of swearing at Stokes at Lord's.
South Africa also brought in pace-bowling all-rounder Chris Morris for Theunis de Bruyn.
England were unchanged from the side that marked Joe Root's first match as captain with a thumping win in which the new skipper scored 190.