Sri Lanka gained control of the second Test against South Africa after 14 wickets fell on day two in Durban.
The tourists posted a first innings of 338 after being dismissed in the morning session, before bowling out South Africa for 168.
Chanaka Welegedara claimed five victims and spinner Rangana Herath also took four wickets in an impressive bowling display by Sri Lanka.
Hashim Amla was the only South African to pass 50 in their below-par innings but he could not convert the half-century into a ton and was dismissed for 54.
Sri Lanka ended the day on 7-1 as Dale Steyn had Dilshan caught in the slips by captain Graeme Smith for four.
South Africa currently lead the series 1-0 after comfortably winning the first Test in Centurion.