Sri Lanka’s Rangana Herath picked up an early wicket to put South Africa under pressure as the visitors, chasing 369 to win the second test, finished day four on 38-1 on Sunday.
Opening the bowling, the left-arm spinner had opener Alviro Petersen caught by Kithruwan Vithanage without scoring with the total on four.
Quinton de Kock batting on 21 and Dean Elgar (13) took a bad light offer and left the field needing to score 331 in three sessions to win the match on Monday or bat out the day for a draw and clinch the two-match series 1-0.
After three interruptions on Sunday, the match is scheduled to start 30 minutes early on Monday with minumum 98 overs to be bowled.
Sri Lanka earlier declared its second innings on 229-8. Kumar Sangakkara (72) and captain Angelo Mathews (63 not out) made hasty half-centuries to increase Sri Lanka’s lead and give them hope of levelling the two-match test series on a turning Sinhalese Sports Club pitch.
South Africa won the first test in Galle.
Sangakkara took 90 balls and hit eight boundaries, sharing 81 runs for the fourth wicket with Mathews, who faced 83 deliveries and hit two sixes and two boundaries.
Fast bowler Morne Morkel returned 4-45 for South Africa and in the process reached his 200th test wicket. Dale Steyn and Imran Tahir picked up two wickets each.
Resuming the fourth day on 11-0 Sri Lanka reached 108-3 at lunch but heavy rain during the interval caused a 30-minute delay in starting the second session.
Resuming under cloudy conditions, Sangakkara and Mathews showed urgency in scoring, taking quick singles and twos.
Sangakkara was dismissed trying to charge Morkel and was caught behind by de Kock. Both Vithanage (7) and Niroshan Dickwella (16) fell going for big shots.
Sri Lanka made 421 in the first innings and dismissed South Africa for 282.