Barring 32-year-old Mishra's inclusion, there were no major surprise in the team with the selectors retaining as many as 14 players, who had toured Bangladesh for the one-off Test early this month.
Leg-spinner Sharma was the only player to have been left out due to injury while young batsman Lokesh Rahul retained his place in the squad, announced by BCCI Secretary Anurag Thakur after a selection committee meeting, also attended by Test skipper Virat Kohli.
"Amit Mishra was always in the scheme of things. Last year also he was in reserves. The final XI though is decided by the captain. Looking at the conditions we have picked him for this tour," Chief selector Sandeep Patil said at a press conference.
"Pragyan was discussed but only 15 players can be selected. Looking at the conditions we have given preference to Mishra," he added.
"We always try to get the balance right. This is the best combination for the Sri Lanka tour.