Wing JP Pietersen scored South Africa's only try as they made it three wins from three autumn Tests by beating France at the Stade de France.
Pietersen gave the Springboks the lead with a try in the first minute and Morne Steyn's conversion and two penalties put his team in control.
France wing Yoann Huget's try helped cut the deficit to 13-7 at the break.
But second-half penalties from Steyn and Patrick Lambie helped Heyneke Meyer's side secure a scrappy victory.
Pietersen gave his team the perfect start when he charged down Morgan Parra's kick to touch down but, after Steyn's efforts from the tee, Huget crossed in the corner just before half-time to give the French hope.
After Steyn's third penalty stretched the lead to 16-7, France prop Thomas Domingo was sent to the sin-bin for a tip tackle on Bryan Habana.
But South Africa's man advantage was brief, with Francois Louw yellow-carded after putting his hand in the face of France lock Pascal Pape in a ruck.