Sri Lanka's Angelo Mathews bats during the Cricket World Cup match against India at Headingley in Leeds.
Sri Lanka won the toss and is batting first against India in Leeds.
India captain Virat Kohli said he would have batted first, too.
India made two changes after beating Bangladesh by 28 runs on Tuesday in Birmingham.
Yuzvendra Chahal is rested for left-arm spinner Kuldeep Yadav, and allrounder Ravindra Jadeja makes his first appearance in this World Cup for fast bowler Mohammed Shami.
Sri Lanka made one change after beating the West Indies by 23 runs on Monday in Chester-le-Street. Veteran allrounder Thisara Perera is in for Jeffrey Vandersay.
Conditions are dry but cloudy overhead.
Sri Lanka: Dimuth Karunaratne (captain), Kusal Perera, Avishka Fernando, Kusal Mendis, Angelo Mathews, Lahiru Thirimanne, Dhananjaya de Silva, Thisara Perera, Isuru Udana, Lasith Malinga, Kasun Rajitha.
India: Rohit Sharma, KL Rahul, Virat Kohli (captain), Rishabh Pant, MS Dhoni, Dinesh Karthik, Hardik Pandya, Ravindra Jadeja, Bhuvneshwar Kumar, Kuldeep Yadav, Jasprit Bumrah.
A gritty century by Angelo Mathews lifted Sri Lanka to 264-7 against India after a top-order collapse on Saturday, the final day of the World Cup group stage.
Sri Lanka started the tournament as rank outsiders and finished sixth of the nine teams, registering one of their three wins against the world's top-ranked one-day international side and hosts England.
It was a superb display by the underdog Black Caps, who came into the match on the back of three straight defeats by Pakistan, Australia and England and only qualified for the semi-finals on net run-rate, while India topped the 10-team group stage.
Rohit described his maiden Test double century as “most challenging” after he lifted India out of early trouble and put the hosts in command of the match.
South Africa and Wales defeated host Japan and France respectively to set up a delightful semi-final on Sunday. There was never any shortage of courage, but not even the bravest of blossoms
Washington: Former England star Wayne Rooney’s DC United were thrashed in his Major League Soccer (MLS) farewell match on Saturday as Toronto FC won 5-1 in the first round