The Blitzboks took revenge for last weekend's pool defeat to the British in Dubai, although they ended up winning the desert tournament, which means Saturday's top-eigh win was their ninth consecutive in the last fortnight.
South Africa will face Samoa in the second semi-final on Sunday at 15h46, and the first top-four clash is between New Zealand and the USA at 15h24.
The Blitzboks drew first blood when Ryan Oosthuizen scored in the fifth minute from a ruck turnover before they sent the ball wide, with the big forward racing 50m downfield for the try under the uprights.
However, Great Britain hit back after the buzzer, exploiting a couple of missed tackles with Morgan Williams' converted try levelling the scores at the break.
Ricardo Duarttee restored the Blitzboks' seven point lead with a great step and acceleration to score under the posts, adding his second conversion to make it 14-7 with five minutes to go.
But like it happened in the first half, the British soon hit back, again slipping past a South African defender out wide for a converted try to Femi Sofolarin with three minutes left on the clock.
Dalvon Blood then made it 21-14 for the Blitzboks with a great try out wide - brilliantly converted by Duarttee - after JC Pretorius and later Zain Davids made good ground with strong runs.
Scorers:
Springbok Sevens 21 (7) - Tries: Ryan Oosthuizen, Ricardo Duarttee, Dalvon Blood. Conversions: Duarttee (3).
Great Britain 14 (7) - Tries: Morgan Williams, Femi Sofolarin. Conversions: Tom Emery (2)
The Springbok Sevens team left their best for their last pool game as they dismantled France by 26-7 to set up the quarter-final against Great Britain.
The Blitzboks had another strong defensive start to the match and when they created their first attacking opportunity in the fourth minute, Muller du Plessis didn't need a second invitation as he beat the cover defence on the outside to score.
Ricardo Duarttee made it 7-0 with the conversion, but a minute later the scores were level when the game opened up and Stephen Parez Edo Martin scored under the posts.
Dalvon Blood, who came on for Siviwe Soyizwapi, made an immediate impact with a superb run, and France were penalised and yellow carded at the ensuing ruck inside their own 22.
From the penalty with a one-man advantage, the South Africans spread it wide and Blood scored in the corner, confirmed by the TMO, to make it 12-7 at the break.
France had their tails up early in the second half, with the Blitzboks conceding a number of ruck penalties, but the home team were on song defensively and after a turnover deep in their own half, Shilton van Wyk saw space at the back and scored his third chip-and-chase try of the weekend to make it 19-7.
Van Wyk got his second of the game - again from a kick into space, this time by Darren Adonis - to seal the result and top spot in Pool A for the Blitzboks, booking their place in the Cup quarter-finals for a third time during the 2023 HSBC World Rugby Sevens Series.
Scorers:
Springbok Sevens 26 (12) - Tries: Muller du Plessis, Dalvon Blood, Shilton van Wyk (2). Conversions: Ricardo Duarttee (2), Branco du Preez.
France 7 (7) - Try: Stephen Parez Edo Martin. Conversion: Rayan Rebbadj.
In their first game on Saturday, the Springbok Sevens team gave a big step towards booking their place in the HSBC Cape Town Sevens quarter-finals with a brilliant 17-7 win over Fiji on a sunny and hot morning.
It was a game of attrition on a scorcher of a day, with the action on the field just as hot as the stands filled up early.
Fiji started in the best way possible, scoring in the first minute after the Blitzboks dropped a pass inside their own half, with Joseva Talacolo going over for a converted try.
It took the hosts a few minutes to get their act together but when they did, two tries in as many minutes followed.
First Van Wyk exploited space with a clever kick ahead and a minute later, Du Plessis scored from a tap-penalty without a hand being laid on him.
Duarttee converted the second try and although the Blitzboks had a great opportunity to add a third before the break, they were bundled into touch, leading by 12-7 at the end of the first half.
The first five minutes of the second half was a real arm wrestle but the Blitzboks kept Fiji pinned in their own half before a great try by JC Pretorius, showing real strength in the tackle, all but sealed the deal for South Africa.
Some more good defence was needed to keep Fiji at bay, and the Blitzboks delivered to ensure they seal an important win on the second day of the tournament.
Scorers:
Springbok Sevens 17 (12) - Tries: Shilton van Wyk, Muller du Plessis, JC Pretorius. Conversion: Ricardo Duarttee.
Fiji 7 (7) - Try: Joseva Talacolo. Conversion: Waisea Nacuqu.