Dilhara Fernando comes in for Chamara Kapugedera for Sri Lanka while AB de Villiers replaces Andrew Hall for Graeme Smith's South Africa.
A defeat for South Africa would end their hopes of a semi-final place.
If Sri Lanka lose, they would need Pakistan to win their three games, but would only progress if their run-rate bettered South Africa or New Zealand.
The odds are on a Sri Lanka victory, with off-spinner Muttiah Muralitharan on song and South Africa skipper Smith describing them as "probably the form team in the tournament".
But he is hopeful of an improved batting performance from his side after collapsing to 108 all out against the Kiwis last week.
"We need to grind a little more," said Smith.
"Adapting to the pitch is the key for us. Whether you bowl first or bat first, you've got to be able to adapt to conditions as quickly as possible.
"Probably the conditions here [in Ahmedabad] will suit Sri Lanka more, but it doesn't mean we can't beat them.
"We know we are a quality one-day team, ranked number two in the world," he added.
Sri Lanka beat the Kiwis by seven wickets last Friday having lost their first match against Pakistan.
And Muralitharan, who took 4-23 against the Black Caps, looks the main threat to South Africa's hopes.
"Any team in the world would want to have a match-winner of that calibre, but not every team has one," Smith admitted.
Vaas strikes for Lanka: Vaas provided early breakthrough to Lankans when he lured Proteas skipper and man-in-form Greame Smith (10) with a inswinging delivery to go for on-drive only to be latched up by Sanath Jayasuriya stationed at short mid-wicket. South Africa is 15/1 in 5 overs with Dippenaar (2) and Herschelle Gibbs (2) were at the crease trying hard to dole out Proteas out of early setback
South Africa: G Smith (c), J Kallis, M Boucher (wk), A B de Villiers, H Dippenaar, H Gibbs, J Kemp, A Nel, M Ntini, R Peterson and S Pollock.
Sri Lanka: Mahela Jayawardene (c), Marvan Atapattu, Tillakratne Dilshan, Dilhara Fernando, Sanath Jayasuriya, Farveez Maharoof, Lasith Malinga, Murali Muralitharan, Kumar Sangakkara (wk), Upul Tharanga and Chaminda Vaas.
Umpires: D Harper (Aus) and Simon Taufal (Aus)