Yuvraj Singh, Mohammed Shami, R Ashwin, Ravindra Jadeja and Umesh Yadav have not been picked for the upcoming ODI series and lone T20I against Sri Lanka.
Manish Pandey, Shardul Thakur, Yuzvendra Chahal, Axar Patel and KL Rahul have come back into the 15-man squad.
India play five ODIs and one T20I starting August 20 in Dambulla.
There have been seven changes made in total from the last time India played an ODI series (against West Indies in June-July).
A significant call made by the selectors is the omission of the 35-year old Yuvraj Singh. He made 162 runs in his last 7 innings in ODIs with just one fifty.
Manish Pandey, who was sidelined from national duty due to a side strain during the IPL this year, returned in stunning fashion in List A cricket. He led India A to victory in the tri-series in South Africa earlier this month, and led the run-charts with 307 runs in five innings.
The other four frontline bowlers for India – Ashwin, Jadeja, Shami and Umesh – have been replaced by almost like-for-like choices.
Jasprit Bumrah and Rohit Sharma, who has also been named the vice-captain of the team, returned to the squad after being rested for the series against West Indies.
With KL Rahul, who last played a limited-overs game for India in February 2017, too returning to the side, the likes of Rishabh Pant and Dinesh Karthik were left out.
India squad: Virat Kohli(c), Shikhar Dhawan, Rohit Sharma (vc), KL Rahul, Manish Pandey, Ajinkya Rahane, MS Dhoni, Kedar Jadhav, Hardik Pandya, Axar Patel, Yuzvendra Chahal, Shardul Thakur, Bhuvneshwar Kumar, Kuldeep Yadav, Jasprit Bumrah