Vernon Philander (12-4-27-4) and Kagiso Rabada (12-2-37-4) ripped through the Sri Lankans while Keshav Maharaj (11-1-32-2) helped to dismiss the visitors for just 110 in 43 overs in their first innings to hand South Africa a massive 282-run first innings lead.