Suranga Lakmal has taken his first five-wicket haul in Tests as Sri Lanka bowled out South Africa for 286 in its first innings early on day two of the series opener.
Lakmal's slick display of seam bowling led Sri Lanka's revival as South Africa lost its last seven wickets for 73 runs at St George's Park.
He completed his five-wicket haul early on the second day as South Africa lost 4-19 on Tuesday morning.
Lakmal was largely responsible for two Sri Lankan fightbacks, first when South Africa was 0-104 and then when JP Duminy (63) was going well and the home team was 3-213.
Lakmal finished with 5-63 after he removed tailender Keshav Maharaj for his fifth scalp.
Spinner Rangana Herath took 2-48 and Nuwan Pradeep 2-66.