Colombo - Sri Lanka stretched their overall lead over South Africa to 247 at lunch, on day four of the second and final Test at the Sinhalese Sports Club on Sunday.
The home side, who resumed at 11 without loss, lost three wickets in the morning session, with Dale Steyn removing opener Upul Tharanga for 30, before an impressive spell from Morne Morkel did for Kaushal Silva, for 26, well held at point by a tumbling Vernon Philander.
Imran Tahir got the big wicket of first innings centurion Mahela Jayawardene, caught by a diving Dean Elgar, as he gloved an attempted reverse sweep.
At the crease at lunch are the dangerous duo of Kumar Sangakkara, on 38, and skipper Angelo Mathews on 14 not out, with the total sitting at 108 for three.
The home side is expected to declare at some point in the second session.