Marizanne Kapp was again South Africa’s hero as they edged a thrilling tussle with New Zealand, getting home with two wickets and three balls to spare.
Sophie Devine’s 93 was ultimately in vain as New Zealand put on a below-par 228 in Hamilton, Ayabonga Khaka and Shabnim Ismail taking three apiece as the White Ferns lost their last six wickets for 30 runs.
Laura Wolvaardt responded with a big knock of her own, making 67, before South Africa suffered their own collapse, slipping to 217 for eight. However, they held their nerve with Kapp’s unbeaten 34 sealing another narrow win.
New Zealand won the toss and chose to bat, but opener Suzie Bates could only manage her third single-digit score of the tournament as she was clean-bowled by Ismail’s raw pace for four.
Sophie Devine and Amelia Kerr rebuilt steadily, bringing their fifty partnership up off 81 balls before Kerr fell for 42 as she was trapped LBW off the bowling of South Africa captain Sune Luus.
Amy Satterthwaite went for one when she was caught behind by Trisha Chetty in the next over as New Zealand slipped to 88 for three.
In her 50th ODI appearance, Maddy Green built a handy partnership with Devine who brought up her half century in 62 balls with back-to-back fours off Luus, as she once again played the anchor role for the White Ferns.
Green departed for 30 from 58 deliveries when she was run out by a sharp throw from Wolvaardt to Chetty behind the stumps, ending an 80-run partnership for the fourth wicket.
Brooke Halliday justified her promotion to the starting XI by rotating the strike nicely, but the White Ferns hopes hung with skipper Devine.
Once she was dismissed, bowled by Khaka for 93 from 101 balls, the collapse began as Katey Martin felt the force of Ismail’s frustration when she was bowled for nine before the fast bowler let out a roar.
Player of the Match Kapp then catapulted herself into the game by bowling Halliday for 24, and with her went, or so it seemed, any kind of resistance.
Hannah Rowe would fall the very next ball as the hosts crumbled to 220 for eight, the usually dangerous Lea Tahuhu went for a duck as Ismail got another before their innings came to an end 13 balls early as Jess Kerr became Khaka’s third victim, taking her to 10 for the tournament.
New Zealand had collapsed from 168 for four in the 36th over to 228 all out, the final four wickets falling for the addition of just eight runs.
Lizelle Lee made a fast start to the chase, she and Wolvaardt were seeing the ball beautifully until the former was run out when Wolvaardt went for a third that her partner was never prepared for.
Tazmin Brits looked shaky when she joined the free-scoring Wolvaardt in the middle, knowing her position in the team was in jeopardy after a run of false starts.
She was unable to kick on again, making just 18 runs from 38 balls before Martin stumped her off the impressive leg-spin bowling of Amelia Kerr to see South Africa end the 18th over on 74 for two.
Wolvaardt was then dropped on 34 before moving to her half-century off 72 balls as she and Luus built a strong partnership, helping halt the climbing run rate as New Zealand ran out of ideas with the ball.
But, as always, Kerr was a cut above dismissing Wolvaardt for 67 from 94 balls to end an 87-run partnership at a crucial time. Kerr would get another when Mignon du Preez’s 150th appearance ended in disappointment as she was expertly caught behind by Martin for one.
Luus’ 50 came off 67 balls but it was surrounded by a string of dot balls for her and Kapp that brought South Africa back to needing a run a ball.
The captain fell when Martin took her second consecutive catch, Rowe taking a deserved wicket before Chloe Tryon’s misjudged shot found Kerr in the field and she departed for 14 to leave South Africa wobbling on 198 for six.
Like Tryon, Chetty sent up a high catch and this time Frances Mackay held on off her own bowling to pull South Africa further into another thriller.
Ismail was also sucked into a big swing but missed and was bowled by Devine, while Khaka’s own heave landed safely to get Kapp on strike where she crucially remained for the final over.
Kapp took four off the first ball from Mackay followed by a single to leave Khaka the all-important job of hitting the winning run, which she did the very next ball to earn South Africa a first World Cup win over New Zealand and extend their unbeaten run to four matches and leave the hosts facing a must-win clash against England next.
Scores in brief
South Africa beat New Zealand at Seddon Park, Hamilton by two wickets
New Zealand 228 all out in 47.5 overs (Sophie Devine 93; Amelia Kerr 42; Shabnim Ismail 3/27, Ayabonga Khaka 3/31)
South Africa 229/8 in 49.3 overs (Laura Wolvaardt 67, Sune Luus 51; Amelia Kerr 3/50, Frances Mackay 2/49)
Player of the Match: Marizanne Kapp (South Africa)