Banyana coach Vera Pauw made three changes to the team that went down 1-0 to world champions USA earlier this month.
She brought in Bambanani Mbane, Leandra Smeda and Mamello Makhabane for Noko Matlou, Shiwe Nogwanya and Robyn Moodaly respectively.
Mbane got her first start in Banyana colours, while Makhabane made a return to the starting eleven after a long absence due to injury.
But Banyana found themselves a goal down in the 14th minute through a Hannah Wilkinson header.
They conceded again in the 32nd minute – Amber Hearn the goal scorer.
Pauw made several changes after the break but New Zealand took an unassailable 3-0 lead when Annalie Longo scored midway in the second half after stepping off the bench.
Jermaine Seoposenwe pulled one back for South Africa in 65th minute.
New Zealand hit back via Sarah Gregarius five minutes before the final whistle.
Banyana will start their Olympic campaign against Sweden on August 3.
Here is how they lined up:
Roxanne Barker (Andile Dlamini), Lebohang Ramalepe, Nothando Vilakazi, Bambanani Mbane (Noko Matlou) Janine Van Wyk (capt.); Mamello Makhabane, Stephanie Malherbe, Linda Motlhalo (Amanda Dlamini), Jermaine Seoposenwe (Sanah Mollo), Refiloe Jane, Leandra Smeda (Shiwe Nogwanya)
Andile Dlamini, Amanda Dlamini, Sanah Mollo, Robyn Moodaly, Nompumelelo Nyandeni, Noko Matlou, Shiwe Nogwanya
Head coach: Vera Pauw
Erin Nayler, Ria Percival, Katie Duncan, Abby Erceg, Rebekah Stott, Ali Riley, Amber Hearn, Sarah Gregarius, Betsy Hassett, Katie Bowen, Hannah Wilkinson, Victoria Esson
Anna Green, Jasmine Pereira, Kirsty Yallop, Rosie White, Meikayla Moore, Annalie Lango, Daisy Cleverly, Paige Satchell, CJ Bott
Head Coach: Tony Readings
REFEREE: Simone (Brazil)
ASSISTANT REFEREE 1: Bastos Nadine (Brazil)
ASSISTANT REFEREE 2: Sacelotti Tatiane (Brazil)
4TH OFFICIAL: Moura Regildenia (Brazil)