Schalk Burger och JP Pietersen kraschade över i en första halv domineras av de kraftfulla Springboks.
Scots kämpade för att göra intrång tills en Duncan Weir avlyssning ledde till en spännande Tommy Seymour försök.
Men den coola sparkar av Handre Pollard höll Sydafrika på ett säkert avstånd och Bryan Habana lagt till en sen poäng för att återspegla klyftan i kvalitet.
Lyssna på det bästa av åtgärden på BBC Radio 5 live
Springboks, två gånger världscupvinnare, signalerade att deras kampanj är tillbaka på rätt spår med en bludgeoning uppvisning av brute kraft efter deras chock öppning förlust till Japan.
Skottland ser nu framåt mot nästa helgs sammandrabbning med Samoa, med vetskap om att segern kommer att ta dem till kvartsfinalen.
Den första poängen kom efter 13 minuter när en kombination av Burger, Bismarck du Plessis och Duane Vermeulen slog sig igenom det skotska försvaret, med Burger krediteras med den slutliga beröringen i en röra av händer.
Skottland varnades och här var Springbok maul i all sin grymhet. Ibland slungades skottarna bort från parken, aldrig mer än i slutet av en ensidig första halvlek när ett förödande muller banade väg för JP Pietersen att landa.
Det var lärobok. Det kom med Jannie du Plessis i sinbinen. Skottland var i ett mäktigt djupt hål.
Vid pausen, så var Sydafrikas överhand att du kände Skottland var inställd på en pummelling, med Heyneke Meyers team leder med en vacker 17 poäng.
Återupplivningen från Skottland kunde ha varit kort, men det var uppmuntrande.
Weirs episka breakaway och stödet från Tim Visser skapade ett försök från blått från Seymour att klippa spelet till en sjupunkts marginal.
Det var en poäng som gungade Bokke men just när Skottland behövde konsolidera, de blundered.
De gjorde en hemsk hasch av omstarten, sedan fick Greig Laidlaw skickas till soptunnan för en cynisk grepp på Habana.
Men deras mod gav aldrig upp en sekund. Ett säkert tecken på Sydafrikas oroliga tänkesätt kom när Pollard valde ett fallmål för att återupprätta sin kudde.
Till slut hade Boks för mycket boll och för mycket makt. Den fysiska avgiften var enorm. Sydafrika spelade inte kosmisk rugby, men de spelade med en intensitet som Skottland inte kunde leva med.
Ett do-or-die möte med samoanerna, som drabbades av en stor förlust för Japan. Samoa är ute ur VM. Om Skottland slår dem, gör de kvartsfinalen. Nästa lördag på St James' Park kommer att vara enorm för skottarna.
Vern Cotter har några beslut att fatta. Blair Cowan var magnifik och gjorde ett hån mot beslutet att lämna honom utanför den ursprungliga 31. Om John Hardie är i form, vem spelar sju nästa vecka?
Cotter kommer att bli uppmuntrad av en del av det han såg. Modet fanns där i spader mot Sydafrika.
Richie Gray var underbar. Hans yngre bror, Jonny, låg inte långt efter. Josh Strauss dök upp bra.
Detta var ett besegrat Skottland men ett Skottland som förbättras och kommer att betraktas som heta favoriter i must-win spelet på lördag - deras största test på fyra år.
Kapten Greig Laidlaw i Skottland: " Vi blev besvikna på vår insats. Det var en dålig första hälft, förmodligen inte en bra andra hälft heller, vi bara inte riktigt fick ut blocken och betalade priset för det.
"Vi visste [den sydafrikanska kroppsligheten] skulle komma, vi bara inte stoppa det. Vi lät dem få farten vi pratade om. När de gjorde det var det en mardröm att försöka attackera.
"Avbrottet var en melee; vi lät dem komma på framfoten när de attackerade så det var svårt att försvara.
"Det var bara nonsens [om Skottland fält en försvagad sida] före spelet; vi är bara besvikna på vår prestation."
Sydafrika: le Roux, Pietersen, Kriel, de Allende, Habana, Pollard, du Preez, Mtawarira, B. du Plessis, J. du Plessis, Etzebeth, de Jager, Louw, Burger, Vermeulen.
Ersättningar: Lambie for Pietersen (70), Serfontein for de Allende (75), Pienaar for du Preez (80), Nyakane for Mtawarira (67), Strauss for B. du Plessis (57), Malherbe for J. du Plessis (50), du Toit for de Jager (76), Alberts for Burger (70).
Sin Bin: J. du Plessis (34).
Skottland: Hogg, Seymour, Vernon, Scott, Visser, Weir, Laidlaw, Reid, Brown, Nel, R. Gray, J. Gray, Strauss, Cowan och Denton.
Ersättningar: Lamont för Hogg (63), Horne för Vernon (65), Hidalgo-Clyne för Laidlaw (70), Dickinson för Reid (51), Ford för Brown (61), Welsh för Nel (64), Swinson för J. Gray (69), Wilson för Strauss (55).
Sin Bin: Laidlaw (53).
Att: 50 900
Domare: Nigel Owens (Wales).
För de senaste rugby facknyheterna, följ @bbcrugbyunion på Twitter.
Sydafrika höll bekvämt av Skottland i Newcastle för att ta över på toppen av World Cup Pool B.