Kumar Sangakkara struck an unbeaten 90 as Sri Lanka beat West Indies by 39 runs on the Duckworth-Lewis method in their rain-affected Tri-Nation cricket series game in Port of Spain.
The result leaves Sri Lanka and West Indies on nine points with India on five points.
India face Sri Lanka on Wednesday, when the two spots in the final will be decided.
India need to beat Sri Lanka by either a bonus point or a certain margin to deny West Indies and make the final.
Sri Lanka are all but guaranteed a final spot on net run rate.