Opening batsman Dimuth Karunaratne fought a lone battle for Sri Lanka with an unbeaten 158 to help the hosts to 287 all out on the opening day of the first test against South Africa on Thursday.
The Proteas faced four overs before stumps in Galle, closing at 4-1 in their first innings after losing opener Aiden Markram to veteran Rangana Herath as Sri Lanka introduced spin from both ends with the new ball.
The day belonged to Karunaratne, whose 6-hour marathon helped Sri Lanka to a respectable total after a middle-order collapse. The 30-year-old, who missed the tour of West Indies due to injury, became the fourth Sri Lankan to carry his bat after Sidath Wettimuny, Russel Arnold and Marvan Atapattu.
Karunaratne's 158 came off 222 deliveries and contained 13 fours and a pulled six off Dale Steyn.
Veteran paceman Steyn is making a comeback after injury and finished Sri Lanka's innings on 1-54 off 13 overs. The 35-year-old Steyn now has 420 wickets and needs one more to match Shaun Pollock's tally of 421 as the highest wicket-taker for South Africa.
Sri Lanka won the toss and chose to bat.
Suranga Lakmal is leading the Sri Lankan side in the absence of Dinesh Chandimal, who pleaded guilty to conduct contrary to the spirit of cricket and will miss the two-test series along with coach Chandika Hathurusingha. Sri Lanka had refused to take the field on the third morning of the St. Lucia test against West Indies last month to protest a ball-tampering charge against Chandimal.