Sri Lanka won the toss and chose to bat first in the third one-day international against South Africa on Tuesday.
Sri Lanka trails 2-0 in the five-game contest and has to win at Chevrolet Park to have a chance of winning the series.
The tourists were unchanged from the team that lost by five wickets in East London at the weekend.
South Africa made two changes, with batsmen Alviro Petersen and Colin Ingram replacing Hashim Amla and Jacques Kallis. Amla has been released to be with his wife, who is expecting their first child. Kallis was rested for the remainder of the series.