South Africa trailed 12-0 at the break but scored tries through Cecil Afrika, Seabelo Senatla and Cornel Hendricks, while Branco du Preez kicked nine points with three convertions and a penalty.
“It is unbelievable. It is good momentum going into the Rugby World Cup Sevens in Moscow,” said coach Paul Treu, following on from their 40-21 win over NZ in the Las Vegas Sevens final.
“It’s is not every day you beat New Zealand twice in the final. Every win you have to take, and we can go back to South Africa as a happy team.”
Australia, last year’s Tokyo winners, finished third after beating France 31-7.
The USA won the Plate while England won the Bowl, and Canada won the Shield.
After seven legs of the nine-round series, New Zealand maintained their lead on 132 points, while South Africa moved up to second on 100 points. Fiji are in third place on 98.