Shaun Pollock took three wickets on his return to the South African team as New Zealand struggled to 129 for seven after being sent in to bat in a Twenty20 international at the Wanderers Stadium Friday.
Veteran all-rounder Pollock, who was not selected for the Test series against the Black Caps, took three for 28.
All-rounder Kyle Mills gave the New Zealand innings some sparkle with a hard-hit unbeaten 33 off 24 balls which included two straight sixes off Charl Langeveldt in the last three overs.
Pollock took the first two wickets of Brendon McCullum and Jamie How and followed up by dismissing New Zealand captain Daniel Vettori in his second spell.
McCullum hooked a short ball for six in the third over but then slammed a fierce drive to JP Duminy at cover off the next delivery.
Scott Styris was the only New Zealand top order batsman to prosper, making 30 off 27 balls before being caught at mid-off by South African captain Graeme Smith off fast bowler Dale Steyn, who was selected for his 20-overs international debut after taking 20 wickets in two matches in the Test series.
Jacques Kallis, who was controversially left out of South Africa's team for the World Twenty20 in September, returned to the South African team.
New Zealand were without all-rounder Jacob Oram and fast bowler Chris Martin, recovering from injury and illness respectively. It is hoped both will be fit for a three-match one-day international series starting in Durban Sunday.