Tries from Dillyn Leyds and Jesse Kriel helped South Africa bounce back from last week's record 38-3 drubbing by Ireland to beat France 18-17 in Paris on Saturday.
Despite fly-half Handre Pollard having an off day, and leaving 11 points out on the field, the Springboks earned a sixth straight win over the French, ending a run of five defeats in a row in November Tests stretching back to 2014.
Half-backs Anthony Belleau and Baptiste Serin crossed the whitewash for the hosts but the latter also missed two penalties as France lost a fifth consecutive match -- and were defeated by South Africa for the fourth time this year alone.
It continued France's miserable run under Guy Noves, winning just seven of 20 matches under the veteran former Toulouse coach.
Both sides came into this match short on confidence and shorter still on form having lost last weekend -- France going down 38-18 to New Zealand.
And it was a bruising start for the hosts who within five minutes had lost lock Paul Gabrillagues to a head injury assessment while fellow forwards Louis Picamoles and Kevin Gourdon both needed strapping on an ankle.
South Africa capitalised almost immediately with strong running from the flanker Siya Kolisi before wing Leyds sliced through a pair of weak tackles to stretch out an arm and dot down.
South Africa were making good yardage with almost every possession and their ball carriers regularly punched holes in a back-peddling French defence.
France, for their part, were error-prone and lacking in guile, and a Pollard penalty on 17 minutes stretched the tourists' lead to 8-0.
But just as murmurs of frustration crept around the partisan Stade de France crowd, the hosts stole line-out ball, Teddy Thomas made ground and Belleau gave a clever show and go before slipping between two tacklers and going in under the posts.
Having converted his own try, Belleau missed a penalty but France's tails were up as both sides showed an eagerness to run the ball on almost every possession.
Pollard steered a pair of penalties wide of the uprights but the tourists still held a slender 8-7 lead at the break.
- Controversial try -
France were buzzing and energetic after the restart, taking risks with offloads in the tackle, and they soon had the lead for the first time through a Belleau penalty.
Pollard missed his third straightforward penalty in a row after Nans Ducuing stupidly infringed for the French.
But replacement scrum-half Serin was yellow-carded for tugging back Malcolm Marx off the ball to prevent the hooker taking a pass from Kriel and Pollard finally managed to dissect the uprights to reclaim the lead.
South Africa made the 14 men pay again on 63 minutes as Kriel picked up the ball after Springbok captain Eben Etzebeth spilled it in a tackle by Ducuing to touch down a controversial try that could have been disallowed for a knock-on.
Pollard, who by now had found his range, stretched the lead to 18-10 with the conversion.
Belleau missed a penalty from wide left to get France back into the match with eight minutes left but Serin burrowed over from close range on 76 minutes and Belleau's conversion made it a one-point game with two minutes to play.
But South Africa held on to earn a sixth win from 11 matches this year.