South Africa have continued their dominance over Sri Lanka in the second Test in Cape Town, with the hosts needing just six more wickets to wrap up the series win.
The hosts ended the first innings with an advantage of 282 runs, and after deciding against the follow-on, they reached 224-7 before opting for a declaration.
Opener Dean Elgar scored 55, while Stephen Cook (30), JP Duminy (29) and Faf du Plessis (41) all made valuable contributions as the Proteas set a target of 507.
Sri Lanka were dealt an immediate blow when Dimuth Karunaratne was dismissed for just seven, and they were soon reduced to 69-4 as each of the top four in their batting lineup got out as Vernon Philander and Kagiso Rabada picked up two wickets apiece.
Dinesh Chandimal (28) and Angelo Mathews (29) reached the close of play still at the crease, but Sri Lanka require another 377 runs for victory after getting to 130-4.