Rookie seam bowler Vernon Philander fired South Africa to an innings victory against Sri Lanka on Saturday to finish the first Test with a 10-wicket haul.
Philander took five wickets as Sri Lanka folded to 150 all out in their second innings before tea on the third day, 81 runs short of making the hosts bat again.
Sri Lanka, facing a 231-run deficit after South Africa were dismissed earlier in the day for 411, were bowled out in just 39.1 overs with Philander returning figures of five for 49. His match total was 10 for 102.
Only Thilan Samaraweera, who top-scored with 32 in 71 minutes, and lower-order batsmen Kaushal Silva (17), Thisara Perera (21) and Rangana Herath (23) provided resistance as the home attack sped through the Sri Lankan batting line-up.
Fast bowler Dale Steyn supported Philander well as he took two for 36. Wicketkeeper Mark Boucher took six catches as the South African bowlers zipped the ball around in helpful conditions.