BlitzBoks pip NZ for semi spot
Seabelo Senatla scored two first half tries for the South Africans, who then delivered a huge defensive effort to restrict New Zealand to just one score in the second half.
Senatla has now scored nine tries in four matches at the three-day tournament, which is the fifth stop on the World Rugby Sevens Series circuit.
The other semifinal will be contested between the USA and Fiji, who currently share a three way tie on top of the World Series standings with South Africa and New Zealand.
In the other three quarterfinal matches, the USA defeated Kenya 26-14, Fiji powered to a 43-7 win over Japan and Australia edged Argentina by 26-12.
Kenya had earlier beaten New Zealand 22-0, their first win over the All Blacks Sevens side since the 2013 Wellington Sevens, to top Pool A before coming up short against the USA despite Collins Injera scoring his fourth try of the weekend and 218th overall.
Ben Ryan's Fiji bounced back from their opening pool match defeat to Samoa to top Pool C thanks to a narrow 15-12 win over Argentina before beating Japan in the quarterfinals. Two tries from Jasa Veremalua and one each for captain Osea Kolinisau, Jerry Tuwai, Pio Tuwai, Savenaca Rawaca and Amenoni Nasilasila proved the difference and setting up a semifinal with the hosts.
Japan had beaten Scotland 26-19, adding to their 19-19 draw with England on day one, to secure their place in a Cup competition for the first time since the 2015 Tokyo Sevens and only third time in history, but could not stop the reigning series champions.
The Blitzboks win over New Zealand was was Neil Powell's first win over Gordon Tietjens since the 2014 Port Elizabeth Sevens, ending a run of five successive defeats.
In the fourth and final quarte final tries from Ed Jenkins, Allan Fa'alava'au and two from Sam Myers gave the Sydney Sevens runners-up to a win over Los Pumas.
England's disappointing tournament continued, suffering a 36-7 defeat to Australia, a match in which Quade Cooper scored his first try in rugby sevens, to finish bottom of a pool for the first time since the 2013 Hong Kong Sevens.
All the Day Two results:
Portugal 0-31 Russia
New Zealand 0-22 Kenya
Samoa 17-31 France
Fiji 15-12 Argentina
Scotland 19-26 Japan
Australia 36-7 England
Canada 10-17 Wales
South Africa 29-0 USA
Bowl Quarterfinals:
Scotland 17-12 Samoa
France 21- 19 England
Wales 31-12 Portugal
Russia 19-10 Canada
Cup Quarterfinals:
Kenya 14-26 USA
Fiji 43-7 Japan
South Africa 14-7 New Zealand
Australia 26-12 Argentina
Cup Semifinals:
United States v Fiji
South Africa v Australia
Source: @WorldRugby7s