Centurion - Quick bowlers Vernon Philander and Dale Steyn had two wickets each as South Africa turned the screw in the second Test on Monday, leaving New Zealand 118-6 in its first innings and 363 runs behind.
South Africa had to work hard for a breakthrough in the session before lunch on the third day at SuperSport Park, but Kagiso Rabada broke a 60-run partnership between Kane Williamson and Henry Nicholls by dismissing Nicholls lbw for 36.
Steyn then removed BJ Watling (8), and Philander bowled Mitchell Santner for a duck to put New Zealand deeper in trouble. Captain Williamson was 40 not out.
Steyn and Philander took a wicket each on Sunday afternoon as New Zealand went to stumps on Day 2 on 38-3.
South Africa made 481-8 declared in its first innings.