Hashim Amla's unbeaten 311, ably supported by 182 not out from veteran all-rounder Jacques Kallis and 131 Graeme Smith took the Proteas to 637 for 2 before they declared, setting England a target of 252 to make them bat again.
But with the hosts resuming on 102 for four, England were always facing an uphill battle to save the game and despite some resistance from Ian Bell (55) and Matt Prior (40), saving the task ultimately proved impossible.
England had managed to survive the first session virtually unscathed, moving to 177 for five at lunch, with the only wicket to fall that of Ravi Bopara, who was bowled off an inside edge by Dale Steyn for 22 in the seventh over.
Steyn bowled an accurate spell at the start of the day but his wicket came off a short, wide ball, which Bopara tried to punch to the off side, only to get a thick inside edge which caused the ball to crash into his stumps.
Bell was dropped by stand-in wicketkeeper AB de Villiers off leg-spinner Imran Tahir when he was on 20, with De Villiers failing to hold a thin edge in Tahir's first over of the day, shortly before the morning drinks break.
Bell and Bopara put on 50 for the fifth wicket and Bell found another useful partner in Matt Prior as the pair added 86 for the sixth wicket.
Both batsmen were caught by Kallis – Prior off spinner Imran Tahir and Bell off Steyn after four-and-a-half hours at the crease and 220 balls.
Steyn took three wickets in 16 deliveries with the second new ball, including Bell's, whom he had caught at second slip, giving him five for 56 and seven wickets in the match, as England could only manage 240 all out in their second innings.
Stuart Broad gloved a catch down the leg side in Steyn's next over. He was given not out by umpire Asad Rauf but South Africa successfully sought a television review which showed the ball brushed his glove.
Graeme Swann then tried to attack the bowling and hit seven runs off nine balls before driving Steyn to cover.
Delaying the inevitable
Last man James Anderson was dropped by a diving JP Duminy at point off Steyn before he had scored and delayed the inevitable for more than half an hour before he was trapped leg before wicket by Tahir.
The victory is South Africa's first in 11 matches at the Oval and they had previously lost all three Tests at the south London venue since returning to international cricket in 1991.
The last time the two teams met in England in 2008, South Africa edged the hosts 2-1 but England have been unbeaten at home since then, rising to number one in the world rankings under captain Andrew Strauss and coach Andy Flower.
South Africa, though, have not lost an away series since they were beaten in Sri Lanka in 2006. They are currently ranked third but will take the top place from England if they win the series.
The win was only the fifth time a team had won a Test match losing only two wickets.
The previous occasion was by South Africa against Bangladesh in Chittagong in 2002-03. All the other instances were wins by England, including one against South Africa at Lord's in 1924. – Sapa-AFP