The result means host nation, West Indies, were eliminated from the competition while India, who picked up a bonus point, finished top of the group.
Heavy rain cut short India's innings at the Queen's Park Oval after 29 overs with Rohit Sharma unbeaten on 48 as they made 119 for three with Virat Kohli's 31 a valuable knock against an aggressive Sri Lanka attack.
The grassy track helped seamers Angelo Matthews and Shaminda Eranga keep India's run rate to just 4.10 runs an over but the rain, with a four-hour delay, removed any chance of India building on that diligent start.
That meant a target of 178 in 26 overs for Sri Lanka but while that appeared, on paper, a reachable goal, the tough batting conditions and fine Indian bowling made it a task beyond them.
Kumar, getting bounce and movement, removed four of the top five Sri Lankan batsmen for just 31 runs, a deadly spell which effectively ended the run chase inside nine overs.
Only Dinesh Chandimal with 26 from 58 balls, provided any real resistance, Ishant Sharma and spinner Ravindra Jadeja chipping in with two wickets each as Sri Lanka were bowled out for 96.
The two teams will face off for the title on Thursday, at the same venue.
- Sports & Recreation
- Rohit Sharma
- Sri Lanka