Earlier, Quinton de Kock hit his fourth century of the tournament, while Rassie van der Dussen cracked his second as South Africa piled up 357-4
Photo: AFP
Strong contenders New Zealand suffered their third successive defeat, going down to South Africa in a World Cup match in Pune on Wednesday.
Faced with a stiff 357-run chase, the Kiwis folded up for 167, to lose by 190 runs.
Meanwhile, it was South Africa's sixth win from seven matches.
Earlier, Quinton de Kock hit his fourth century of the tournament, while Rassie van der Dussen cracked his second as South Africa piled up 357-4.
Left-handed opener De Kock reached his 21st one-day international ton off 103 balls with eight fours and three sixes.
He brought up his century with a huge six off Jimmy Neesham.
"I'm feeling really good lately. It's nice that everything is coming together at an important time for us," said De Kock at the innings break.
"I was getting a couple of messages from the bench to bat through. I just want to keep batting, bat for longer. My career is coming down to a finish, I'm trying to bat as much as I can."
De Kock also made 100 against Sri Lanka, 109 in the game with Australia and 174 in the victory over Bangladesh.
He started the day needing just 69 more runs to pass 500 for the tournament when the Proteas were sent in to bat in Pune.
Having completed a 62-ball fifty, including three fours and two sixes, De Kock broke through the 500-run barrier with a legside boundary off recalled paceman Tim Southee.
He was eventually out for 114 caught by Glenn Phillips off Southee, ending a 200-run partnership for the second wicket.
Van der Dussen kept up the assault as he made 133 off 118 balls with nine fours and five sixes.
It was his second hundred of the tournament after his 108 against Sri Lanka and sixth of his ODI career.
Southee again made the breakthrough, clean bowling Van der Dussen in the 48th over as he tried to launch the ball across the line.
David Miller added a blistering 53 off just 30 balls with four sixes as South Africa ended their innings with Aiden Markram arriving at the wicket for the last ball which he dispatched for six.
New Zealand used seven bowlers after seamer Matt Henry suffered a hamstring injury and was forced off the field midway through his sixth over.
ALSO READ: