Shreyas scored an unbeaten 73 to help India register the 12th consecutive win in the format and clinch the series 3-0.
Shreyas Iyer hit the third consecutive fifty to steady the run-chase after India lost Rohit Sharma & Sanju Samson early in the third and final T20I at Dharamsala.
Earlier, India were off to an impressive start with Avesh Khan and Mohammed Siraj taking three wickets in the first six overs.
Ravi Bishnoi piled further misery by taking a wicket, leaving Sri Lanka reeling at 29/4. Harshal Patel then removed Chandimal to inflict further damage.
But Sri Lanka skipper Dasun Shanaka then hit a fighting 74 from 38 deliveries to help Sri Lanka post a challenging 146-run total on the scoreboard. With plenty of talent in the wings, Rohit Sharma went with a rejigged starting eleven and named four changes from the previous T20I.
The win in the third and final T20I also helped India extend their winning streak in T20Is to 12 as they equalled the world record for the most successive victories.
“Want to congratulate India for a wonderful performance. Need some stitches on the hand. Been tough without our senior bowlers. Didn’t capitalise on the first six overs today again with the bat. Pace attack has been outstanding throughout last year or so. Not so much about pace but control. This is international cricket, we have to adapt, can’t complain about conditions,” says Shanaka on his team’s performance.