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.
Aaron Ramsey sent Wales to Euro 2020 with a brace to give them a 2-0 win over Hungary and a spot in next summer’s finals, while Belgium completed their perfect qualifying campaign
Jose Mourinho, one of European football’s most successful managers, was appointed on Wednesday to replace the sacked Mauricio Pochettino at Tottenham, with a brief
Pakistan will take a huge gamble in the first Test against Australia in Brisbane on Thursday by giving 16-year-old schoolboy quick Naseem Shah his debut. Many a more-experienced