South Africa's bid to return to the top of the world Test rankings were dented on Day 2 of the second Test against Sri Lanka in Colombo.
After the hosts extended their first-innings total to 421, the Proteas could only reach 98-3 in their reply at the Sinhalese Sports Club Ground.
|South Africa 1st Innings: 98 for 3 (52 overs)|
|Petersen||c and b Herath||2||7||10|
|Elgar||c K Silva||b D Perera||1||35||22|
|du Plessis||c Dickwella||b Lakmal||36||126||109|
|de Villiers||not out||11||49||38|
|Extras||1nb 0w 0b 1lb||2|
South Africa crumbled to 23-2 at tea—Alviro Petersen offered Rangana Herath a return catch in the second over after making just two and Dean Elgar was caught at short leg off Dilruwan Perera, having made a single.
Faf du Plessis and captain Hashim Amla launched a revival, but debutant keeper Niroshan Dickwella took a superb catch down the leg-side off Suranga Lakmal to dismiss the former for 36.
Amla (46) and AB de Villiers (11) saw the tourists through to stumps without further loss.
Sri Lanka earlier added 116 runs after resuming on 305-5 with Mahela Jayawardene run out for 165 after a direct hit from Petersen.
Imran Tahir finally picked up a wicket when Perera (12) picked out mid-on. Dickwella then missed out on a debut century as he was also run out with a direct hit for 72.
The tail failed to wag with Vernon Philander mopping up the final two wickets.
|Sri Lanka 1st Innings: 421 all out (121.4 overs)|
|Tharanga||c de Kock||b Steyn||11||28||16|
|K Silva||c de Villiers||b Duminy||44||116||73|
|Sangakkara||c Tahir||b Steyn||0||1|
|M Jayawardene||run out (Petersen)||165||453||284|
|Mathews||c de Kock||b Duminy||63||164||135|
|Vithanage||c de Villiers||b M Morkel||13||60||38|
|Dickwella||run out (de Kock)||72||193||116|
|D Perera||c Amla||b Tahir||12||47||41|
|A Mendis||c de Kock||b Philander||2||13||11|
|Lakmal||c de Kock||b Philander||4||5||4|
|Extras||3nb 0w 11b 14lb||28|
SA, who won the first Test in Galle, need to avoid defeat to usurp Australia at the summit of the rankings.