Kagiso Rabada claimed 6-55 as South Africa stormed to a series-clinching, 282 run-victory over outclassed Sri Lanka on day four of the second Test, in Newlands.
Rabada took his series haul to 14 scalps by bagging four of the six wickets the Proteas needed to wrap up a second comprehensive victory after the tourists, set 507 to win, resumed on 130-4.
South Africa needed less than a session to complete the job, Vernon Philander bowling last man Nuwan Pradeep as he swung across the line - Sri Lanka all out for 224 despite 49 from skipper Angelo Mathews.
Once Dinesh Chandimal (30) gifted his wicket away - chipping Rabada to Cook on the leg-side - the end was swift in coming.
Upul Tharanga (12) was caught behind attempting to cut Rabada, who completed his five-for courtesy of another regulation Quinton de Kock catch as Mathews looked to drive off the back foot.
The same mode of dismissal also accounted for Suranga Lakmal, giving Rabada 10 wickets in the match following his first-innings 4-37.
De Kock remained at the centre of the action as Lahiru Kamara advanced only to be stumped off Keshav Maharaj before Philander knocked back Pradeep's off peg.
South Africa will aim to complete a series whitewash when the teams meet at the Wanderers in the third and final Test - a match you can watch from 8am on 12th January, on Sky Sports 2.