Opener Henry Davids top scored with 68 from 51 balls as the Proteas posted a formidable 179-6 after winning the toss and batting first.
Left arm spinner Aaron Phangiso and seamer Ryan McLaren then collected identical figures of 3-25 as the Black Caps subsided to a disappointing 146-9 in reply.
The home side were briefly in trouble at 26-2 until Davids was joined by Justin Ontong who belted 48 from 30 balls with three sixes and four during a third-wicket stand of 89 which laid the platform for a dynamic end to the innings.
David Miller struck four boundaries in 28 from 15 balls and Farhaan Behardien finished with an unbeaten 22 from just 11 deliveries.
Martin Guptill (24) and captain Brendon McCullum (25) briefly threatened to make a game of it but the run rate proved unmanageable and wickets fell steadily with the result in little doubt from the 10th over when the Black Caps slumped to 60-4.
The tourists now play a three-day match against provincial side Boland in Paarl from December 28 in preparation for the first of two Test matches starting in Cape Town on January 2.
- Sports & Recreation