South Africa 392 (Elgar 129, de Kock 101, Kumara 6 for 122) and 224 for 7 dec (Elgar 55, Lakmal 4-69) beat Sri Lanka 110 (Philander 4-27, Rabada 4-37) and 224 (Rabada 6-55, Philander 3-48) by 282 runs
Scorecard and ball-by-ball details

South Africa took an unassailable 2-0 lead in the Test series by claiming the last six wickets before lunch on the fourth morning at Newlands as Sri Lanka continued their ill-disciplined ways, a Test side irredeemably trapped in limited-overs mode. On the evidence of their tour of England last summer, and now here, in a changing cricketing world their appetite for the Test game cannot entirely be taken for granted.

The chief beneficiary of Sri Lanka's faulty mind-set was fast bowler Kagiso Rabada, who took four more wickets to finish with 6 for 55 and ten in the match for next to nothing.

Rabada's graceful fast bowling has been one of the delights of the past year. That said, he is too talented and level headed to become over-excited about the praise that will fall upon him. A gentle shake of the head at a gimme wicket after Dinesh Chandimal chipped a stray delivery to square leg served as the perfect image of a morning when several gifts were bestowed upon him. His realism did him great credit.

Sri Lanka had anticipated a possible Test return to South Africa next year, but suggestions are growing that they might be jilted in favour of India. A 206-run win in Port Elizabeth has been followed by a 282-run margin in Cape Town. Big countries like to win; they also like to feel they have been in a fight.

Far from being a surface that was unfairly doctored to home team demands, this Newlands pitch possessed enough pace and bounce to provide captivating cricket and reward good batsmen and bowlers alike. Vibrant cricket is interesting cricket. Concentration needed other companions, not least cricketing nous and bloody-mindedness. Sri Lanka, overly given to limited-overs habits, were not up to it.

Rabada has looked a grand fast bowler in the making ever since he made his mark in Test cricket in South Africa's home series against England, his action smooth, his development fast and his demeanour underlining that successful fast bowling does not necessarily have to come with glares and curses.

Sri Lanka, resuming on 130 for 4, retained three specialist batsmen as they sought to delay South Africa's victory. All tossed their wickets aside like picture cards on top of a trump. Within 40 minutes, Rabada had dismissed not only Chandimal, but Upul Tharanga and the captain Angelo Mathews.

If anybody still wondered why Tharanga, a one-day opener, is carded in a Test to follow a group of ingénues and bat at No 7, his innings provided the answer. Met by a posse of close fielders, Tharanga struck three of his first balls for four with the air of a man who had no intention of hanging around. His downfall came in Rabada's next over when he cut at a wide one which did not get up and under-edged to the keeper.

Rabada's next two wickets did have intrinsic worth. Mathews' attempt to drive a back-of-a-length ball of the back foot was exposed by challenging pace and bounce. And the dismissal of Suranga Lakmal was excellent: two hostile short balls in a row, the first of them fended uncertainly to short leg, the second deflecting off the glove to the wicketkeeper Quinton de Kock. Even then, with four wickets in a spell, Rabada's response was gentle.

Amid all this mayhem, Kyle Abbott's final Test could hardly have been more commonplace. Abbott pounded a challenging line, but to no avail: wicketless in the match, the only figures that mattered being the financial ones variously on offer from Hampshire and Cricket South Africa.

Rangana Herath collected an unbeaten 35 while South Africa awaited the kill. It came with de Kock's stumping of Lahiru Kumara as he made room to drive Keshav Maharaj through the off side and, finally, the splaying of Nuwan Pradeep's stumps by Vernon Philander. And Johannesburg is next, the most demanding test of all.

David Hopps is a general editor at ESPNcricinfo @davidkhopps