India, facing elimination if they lose, made one change by including off-spinner Harbhajan Singh in place of leg-spinner Anil Kumble as the only specialist spinner.
Sri Lanka, who have almost made it to the Super Eights stage, included seamer Dilhara Fernando in place of all-rounder Farveez Maharoof.
Bangladesh, the third team, would go through if India lose and they avoid defeat in the last group game against whipping boys Bermuda.
India: Robin Uthappa, Saurav Ganguly, Virender Sehwag, Sachin Tendulkar, Yuvraj Singh, Rahul Dravid (capt), Mahendra Dhoni (wk), Ajit Agarkar, Harbhajan Singh, Zaheer Khan and Munaf Patel. Coach: Greg Chappell.
Sri Lanka: Upul Tharanga, Sanath Jayasuriya, Mahela Jayawardene, Kumar Sangakkara, Chamara Silva, Tillakaratne Dilshan, Russel Arnold, Dilhara Fernando, Chaminda Vaas, Lasith Malinga, Muttiah Muralitharan. Coach: Tom Moody.