All-rounders Ruan de Swardt and Shaun von Berg were leading a South African rearguard on Tuesday as they recovered to 220-6 after New Zealand had dominated the start of the second Test.
De Swardt had reached his maiden half-century to be 55 not out at stumps on day one, while von Berg was on 34 on his Test debut, with the pair having combined for 70 off 27 overs in Hamilton.
It represented a recovery for the tourists, who won the toss but were 64-3 at lunch and 150-6 early in the final session when key batsman David Bedingham was dismissed in freakish fashion.
After losing the opening Test in Mount Maunganui by 281 runs, an understrength South Africa must win at Seddon Park to avoid becoming the first team from their country to lose a Test series to New Zealand.
De Swardt — one of six Proteas debutants in the first Test — showed the specialist batsman how to preserve his wicket in a gritty 135-ball knock.
He received support from 37-year-old leg-spinner von Berg, finally given an international opportunity after playing 135 first class matches.
The pair halted a mini-collapse either side of the tea break inspired by Rachin Ravindra, who took 3-33.
Ravindra, who scored 240 in the first Test, underlined his all-round talent by removing Zubayr Hamza for a painstaking 20 off 99 balls and Keegan Petersen for two.
His left-arm spin then accounted for the unfortunate Bedingham, on 39, whose leg-side flick struck the top of his shoe and flew to close-in fielder Will Young.
South Africa made a dreadful start when makeshift opener Clyde Fortuin was dismissed for nought first ball in the second over, the wicketkeeper caught brilliantly in the gully by Glenn Phillips off Matt Henry.
Pace bowler Will O’Rourke claimed a scalp on debut when he had captain Neil Brand trapped leg before wicket for 25, while Raynard van Tonder was out for 32 in the over before lunch, caught at gully after failing to get on top of Neil Wagner’s short delivery.
South Africa boosted their spinning stocks, introducing von Berg and recalling off-spinner Dane Piedt for his first Test in four years.
They replaced opener Edward Moore and seamer Duanne Olivier.
For New Zealand, 22-year-old O’Rourke replaced Kyle Jamieson, who had back pain following the first Test.
Veteran seamer Wagner was recalled in place of spinner Mitchell Santner, while Young replaced batsman Daryl Mitchell, who was ruled out with a foot injury.