Jesse Ryder struck his maiden World Cup half-century as New Zealand struggled to 221 for eight from their 50 overs in the quarter-final against South Africa.
New Zealand set South Africa 222 to win in World Cup
Batting under immense pressure after South Africa had reduced the Kiwis to 16 for two, Ryder saw off the initial danger.
The burly left-hander was finally out for 83 from 121 balls trying to loft the leg-spinner Imran Tahir over the leg-side boundary.
Ryder added 114 runs with an unusually sedate vice-captain Ross Taylor, who scored 43 from 72 balls. Taylor was also caught off Tahir's bowling trying to hit a second six over midwicket.
South Africa opened the bowling with left-arm spinner Robin Peterson who was immediately rewarded when he caught and bowled Brendon McCullum (4) in his second over.
Peterson's new ball partner Dale Steyn struck soon afterwards, dismissing Martin Guptill for one. Guptill was deceived by a slower ball and lofted a catch to Johan Botha at mid-off.
Ryder struck six fours before completing his fifty with a single off Kallis. He had to curb his normal instincts and hit only two more boundaries as wickets tumbled regularly at the other end.
His fine innings ended when the substitute fielder Colin Ingram took a catch at deep midwicket with more than 11 overs still to go in the innings.
Morne Morkel took three late wickets to finish with three for 46 while Kane Williamson, who scored a century in the last match New Zealand played at this ground against Bangladesh last year, was unbeaten after an intelligent 38.