McCullum made 51 and Brownlie was undefeated on 69.
They were still likely to lose the match but it was a much better showing by the tourists after a calamitous first day during which they were bowled out for 45 and then leaked runs at almost four an over.
New Zealand’s bowlers and fielders gave an improved performance, restricting South Africa to 97 runs and claiming five wickets in 31.2 overs before the home side declared at 347 for eight, a lead of 302.
“Compared to yesterday, it was immense,” said Black Caps fast bowler Chris Martin.
“The way we turned up with the ball was much better. We were more consistent and we dried up the runs which brought the five wickets. That set the tone for the way our batters went out and put up a much sterner fight,” he added.
Brief Scores: New Zealand 45 and 169 for 4 (Dean Brownlie 69*, Brendon McCullum 51; Jacques Kallis 2 for 19) trail South Africa 347 for 8 dec. (Alviro Petersen 106, AB de Villiers 67, Hashim Amla 66; Chris Martin 3 for 63) by 133 runs.