Published: 2017-07-10 17:43:15 BdST
Sharma last played in the five-day format against New Zealand in October, 2016 before he was sidelined with a thigh injury.
The 30-year-old, who finished as second-highest run scorer at the Champions Trophy last month, was rested for the limited-overs tour of West Indies. He replaces Karun Nair in the 16-member squad.
Pandya, a regular in India's one-day international and Twenty20 sides, could make his Test debut to support the pace bowling unit comprising Ishant Sharma, Umesh Yadav, Mohammed Shami and Bhuvneshwar Kumar.
KL Rahul was also included after recovering from a shoulder injury sustained during the home Test series against Australia this year.
The number one Test team in the official rankings, Virat Kohli's India side will play three Tests, five one-dayers and one Twenty20 international in Sri Lanka.
Virat Kohli (captain), Murali Vijay, KL Rahul, Cheteshwar Pujara, Ajinkya Rahane (vice-captain), Rohit Sharma, Ravichandran Ashwin, Ravindra Jadeja, Wriddhiman Saha (wicket-keeper), Ishant Sharma, Umesh Yadav, Hardik Pandya, Bhuvneshwar Kumar, Mohammed Shami, Kuldeep Yadav, Abhinav Mukund.