India made one change to their playing XI. Fit-again opener Lokesh Rahul replaced Abhinav Mukund in the top order.
Host Sri Lanka made three changes to the side that was thrashed by India in the first Test.
Skipper Dinesh Chandimal, Dhananjaya de Silva and all-rounder Malinda Pushpakumara came in for injured Danushka Gunathilaka, Lahiru Kumara, and Asela Gunaratne.
Sri Lanka: Dimuth Karunaratne, Upul Tharanga, Kusal Mendis, Dinesh Chandimal(captain), Angelo Mathews, Dhananjaya de Silva, Niroshan Dickwella(wicketkeeper), Rangana Herath, Dilruwan Perera, Malinda Pushpakumara, Nuwan Pradeep.
India: Shikhar Dhawan, Lokesh Rahul, Cheteshwar Pujara, Virat Kohli(captain), Ajinkya Rahane, Ravichandran Ashwin, Wriddhiman Saha(wicketkeeper), Hardik Pandya, Ravindra Jadeja, Mohammed Shami, Umesh Yadav.