The Blitzboks conceded five tries in a clumsy effort in their HSBC France Sevens opener, but they hit back with a big win over Fiji in the last game of the day.
As the rain came down hard over Toulouse, the South Africans kept their composure and led 12-0 at the break, ending with four tries to one by the islanders.
The Blitzboks showed all the intent in the world on defence, mowing down anything that moved in white, and their defensive determination clearly rattled Fiji, who could not get their offload game going.
The South Africans were clinical in everything they did and they kept the Fijians under enormous pressure. Fiji did themselves no favours by conceding silly penalties under pressure and two yellow cards in the opening half cost them dearly.
First, Dewald Human scored the opening try of the match two minutes in, after the first yellow card to Fiji. South Africa opted for a scrum, attacked to the right and when Fiji were pinged again for offside, a quick tap by Ronald Brown saw Human slide over.
Human, back in the squad after a five month lay-off, was at it again soon after. Fiji were just back to seven players when a slap down by a defender gave the Blitzboks the numerical advantage again.
The playmaker cross-kicked to Shaun Williams who popped the ball to a charging Mfundo Ndhlovu to score in the corner. Human added the sideline conversion to give his side a 12-0 lead at the break.
Fiji scored first in the second half, attacking from deep and keeping the ball alive through numerous phases and in the end, South Africa just ran out of defenders.
The converted try cut the lead to five points, but it was back to 12 again after a gem of a try by Shilton van Wyk. The wing was boxed in on the touchline, kicked ahead and when Jerry Tuwai, the Fijian sweeper, failed to control the ball, Van Wyk pounced.
The conversion hit the upright, but at 17-7 the Blitzboks had all the momentum.
They played the clock to a tee with excellent game management by Justin Geduld and from a decisive play, Ricardo Duarttee broke wide from a scrum to score. Geduld converted for his first points in 15 months and the win moved the Blitzboks into second place in the pool, behind France.
Against France, the Blitzboks never respected the ball when they were in possession, were fooled into making two-on-one tackles which handed France easy offloads and generally fell off tackles they were expected to make.
To add to their misery, discipline was a problem too and Brown was yellow carded in the first half, handing France an easy score because of that.
The match started well for South Africa who had the best of the opening spell and attacked with purpose. A loose pass saw Ndhlovu spill the ball and from the following restart, the centre missed a straight up tackle to hand France their first try in three minutes in.
Brown was then binned and with the resulting try, the hosts led by 12-0 at the break.
The French had the game under control and gave their home crowd something to cheer about in the second half. They scored in the opening minute after the break when a gang tackle by South Africa was nullified by a beautiful offload.
Brown then missed a tackle to hand France a 24-0 lead before James Murphy clawed one back after good defensive pressure near the French line, but the hosts scored another try near the end of the match thanks to another delightful offload to leave the South Africans with much to ponder.
In the other Pool C games on Friday, Fiji and the USA drew 21-21, and France beat USA by 19-14. On Saturday, the Blitzboks take on the Americans (13h49), before Fiji and France face off (14h11).
South Africa 7 (0), France 31 (12)
South Africa - Try: James Murphy. Conversion: Ricardo Duarttee.
France - Tries: Theo Forner, Jordan Sepho (2), William Iraguha (2). Conversions: Paulin Riva, Stephen Parez, Edo Martin, Thibaud Mazzoleni.
South Africa 24 (12), Fiji 7 (0)
South Africa - Tries: Dewald Human, Mfundo Ndhlovu, Shilton van Wyk, Ricardo Duarttee. Conversions: Human, Justin Geduld.
Fiji - Try: Waisea Nacuqu. Conversion: Nacuqu.