Discipline was again an early issue for the Blitzboks as they conceded too many penalties, while Chris Dry and Seabelo Senatla were yellow carded for tip tackles in the first half.
But this team knows how to strike when the opportunity arises, and they used both their try-scoring opportunities before the break to good effect.
First Dylan Sage crossed after the USA lost possession, but Dry was sin binned from the restart with his team 7-0 up.
That didn’t deter the South Africans though and despite being a man down, the Blitzboks won a lineout near their own 22, spread the ball wide and kicked ahead for Rosko Specman to round off after Carlin Isles failed to control the ball.
Isles got one back though when the USA went wide from the restart and he simply outpaced the cover defence on the right.
Shortly afterwards Senatla got his marching orders as the teams went into the break with the Blitzboks leading by 14-5.
Their defence was tested in the second half but held firm most of the time, as it did in both their earlier pool games.
When the Blitzboks finally got hold of the ball, and after some patience on attack, Selvyn Davids went over for their third try. Geduld again made no mistake with the conversion as South Africa took a 21-5 lead.
The USA hit back with two late tries, by Matai Leuta and Perry Baker, but the surge was too little too late as the Blitzboks wrapped up the game and top spot in Pool A.
South Africa will now face Kenya in their quarter-final on Sunday, with kick-off scheduled for 11h18.
South Africa 21 (14) – Tries: Dylan Sage, Rosko Specman, Selvyn Davids. Conversions: Justin Geduld (3).
USA 15 (5) – Tries: Carlin Isles, Matai Leuta, Perry Baker.
In their first game on Saturday, the Blitzboks stepped up a massive gear in the second half to bury Fiji by 26-14 in front of an almost packed Cape Town Stadium.
Despite a slow start by the crowd-favourites, which saw Fiji take a 14-0 lead, the Blitzboks never wavered from their plan and in the end scored four unanswered tries to remain at the top of Pool A, with one game to go.
The Blitzboks slipped off a few early tackles and also conceded four straight penalties when Seabelo Senatla was sent to the sin bin.
Fiji capitalised when Jerry Tuwai scored their first try, before Vilimoni Botitu pounced after a mistake by the South Africans to go over untouched under the uprights. Napolioni Bolaca converted both for a 14-0 lead when Senatla returned.
When they finally got their hands on the ball in a good field position, Rosko Specman danced over from a quick-tap penalty under the uprights. Justin Geduld added the extras and it was 14-7 with seven minutes to go.
Those seven minutes belonged to the Springbok Sevens team though, with their superb skills in winning the aerial battle against Fiji from the restarts key to the victory.
First Senatla went over after good attacking play by the Blitzboks before Ruhan Nel got on the score-sheet in the same left-hand corner after a Fijian pass was intercepted in their own 22.
The final say belonged to Geduld as the Blitzboks took control at a scrum from the restart when Fiji conceded a free kick. The playmaker tapped, accelerated into the gap and went over for their fourth try, which he converted to put them up by 26-14 with just over a minute to go.
The Blitzboks’ final pool match is at 20h03 against the USA, who beat Japan earlier on Saturday.
South Africa 26 (7) – Tries: Rosko Specman, Seabelo Senatla, Ruhan Nel, Justin Geduld. Conversions: Geduld (3).
Fiji 14 (14) – Tries: Jerry Tuwai, Vilimoni Botitu. Conversions: Napolioni Bolaca (2).