Opener Pathum Nissanka led Sri Lanka to 242-3 in reply to South Africa’s bonus 358 on day two Friday of the second check at St George’s Park.
Nissanka’s 89, his seventh check fifty behind two centuries, shone in a gentle effort by the highest order to cut back the deficit to 116 runs by stumps.
Unbeaten within the center have been Angelo Mathews, on 40 after changing into the third Sri Lankan man to cross 8,000 check runs, and Kamindu Mendis, on 30.
South Africa began the day on 269-7, and Kyle Verreynne on 48. The prospect of reaching 300 regarded tough with the tail uncovered and Sri Lanka brandishing the second new ball.
However Verreynne was brilliantly supported by quick bowlers Kagiso Rabada and Dane Paterson to get the Proteas to a aggressive 358, of which an unbeaten 105 was his.