Sri Lanka gained command of the second Test against South Africa at Durban on the second day when 14 wickets fell for 224 runs.
After turning their overnight 289-7 into 338, Sri Lanka dismissed the hosts for 168 with paceman Chanaka Welegedara taking 5-52 from 16.4 overs and slow left-armer Rangana Herath 4-49 off 20, before reaching 7-1 for an overall lead of 177.
Test debutant Marchant de Lange took the remaining three Sri Lanka wickets to fall, finishing with 7-81. De Lange dismissed Herath for 30 and Welegedara for two before Thilan Samaraweera was the last man out for 102.
The hosts were soon in trouble at 27-3, losing Graeme Smith, Jacques Rudolph and Jacques Kallis.
Hashim Amla (54) and AB de Villiers then took their team to 100-3 at tea. The duo were only able to add another three runs before de Villiers (25) was caught off Welegedara.
It ended a fourth-wicket stand of 76 off 147 balls and sparked a slump which saw the tourists lose seven wickets for 68 runs.
South Africa struck with the ninth ball of Sri Lanka’s second innings, Dale Steyn having Dilshan caught to make it 4-1 before bad light stopped play.