Sri Lanka have reached 25 without loss in their second innings and have extended their lead against South Africa to 186 runs at tea on day two of the first Test in Galle.
Sri Lanka shot out South Africa for 126 runs in the first innings to secure a big lead of 161.
This was South Africa's lowest Test total against Sri Lanka, eclipsing 168 all out in Durban in 2011.
The tourists resumed on 6-86 after lunch on Friday and the partnership between Francois Du Plessis and Vernon Philander ended when offspinner Dilruwan Perera trapped Philander.
They added 64 runs for the seventh wicket.
Captain Suranga Lakmal then claimed the remaining three wickets with a fine spell of seam bowling.
Sri Lanka's stand-in captain is the lone seamer in the side and brought himself on only in the 37th over, having heavily relied on his spinners.
Lakmal cut one sharply in to clean up Du Plessis' stumps with the batsman one short of his half-century.
Lakmal also claimed Kagiso Rabada and Dale Steyn to finish with figures of 3-21.
Perera was the most successful bowler, claiming 4-46.
In Sri Lanka's second innings, the Proteas had a chance to make a breakthrough as Danushka Gunathilaka top-edged a paddle sweep but Temba Bavuma failed to hold on to the chance off Keshav Maharaj.
Gunathilaka was unbeaten on 10 at tea with Dimuth Karunaratne on 15.