Vernon Philander (3-35) led the way as Sri Lanka's batsmen struggled to 181-7.
Earlier, South Africa were bowled out quickly for 286 as seamer Suranga Lakmal took his first five-wicket haul in Test cricket.
Sri Lanka 181 for 7 (De Silva 43*, Philander 3-35) trail South Africa 286 (Duminy 63, Cook 59, Lakmal 5-63) by 105 runs.
Matches Tagged in ClipDex2016 RSA v SRL 1st Test
Series Tagged in ClipDex2016/17 RSA v SRL Test se ...
Players Tagged in ClipDexAbbott, Kyle J de Silva, Dhananjaya M de Kock, Quinton Pradeep, Nuwan AR Philander, Vernon D Herath, Rangana Mathews, Angelo D Lakmal, Suranga Rabada, Kagiso
Grounds Tagged in ClipDexSt George's Park
Categories Tagged in ClipDexTest Matches