Jacques Kallis scored a patient half-century on Wednesday as South Africa set a modest 191-run victory target against Sri Lanka in the crucial third one-day international.
South African skipper Graeme Smith won the toss and decided to bat first in a match that the visitors must win to stay in the five-match series. The hosts lead the series 2-0.
Out-of-form opener Herschelle Gibbs started the innings tentatively, surviving two close leg-before-wicket appeals in the third over from left-arm seamer Chaminda Vaas.
He added 44 runs for the first wicket with Smith before Sanath Jayasuriya took a brilliant, diving catch running to his right from wide mid-on to dismiss the South African captain for 16 in the 11th over.
Gibbs failed to score in the first one-dayer and made seven runs in the second match last Sunday.
South Africa promoted hard-hitting Lance Klusener to number three to hasten the scoring rate in the initial overs but the left-hander faced just four balls before being bowled by a slow ball from seamer Nuwan Zoysa.
Kallis came to bat after South Africa lost two wickets with just 50 runs on the board. He carved a patient 52 in 108 balls, hitting three fours on a pitch that appeared to favour spinners and made stroke play difficult.
Luck favoured Gibbs twice more when first slip fielder Mahela Jayawardene failed get a hand to an outside edge when the batsman was on 28 and substitute fielder Farveez Maharoof dropped him at deep extra-cover on 43.
But Gibbs missed out on his half-century when left-arm spinner Rangana Herath had him stumped by wicketkeeper Kumar Sangakkara for 49. Gibbs faced 82 balls and hit four fours and a six.
Sri Lankan spinners took advantage of the slow Dambulla wicket as South Africa lost their last six wickets for 47 runs. Offspinner Tillekeratne Dilshan recorded 2-25 while Herath returned 3-28. — Sapa-AP