Sri Lanka entered the final of the World Twenty20 for a third time when it beat defending champions West Indies by 27 runs on the Duckworth-Lewis method after rain ended the first semi-final early.
The West Indies were 80-4 in 13.5 overs in reply to Sri Lanka's 160-6 when play was stopped.
Captain Lasith Malinga grabbed 2-5 to spoil West Indies' run chase.
Earlier, all-rounder Angelo Mathews provided a late burst for Sri Lanka to put up a fighting score.
Mathews, who came in to bat at number six in the 14th over, smashed 40 off 23 balls with three fours and two sixes.
Lahiru Thirimanne (44) and Tillakaratne Dilshan (39) began Sri Lanka's recovery from 49-3.
Sri Lanka await the winner of the India-South Africa semi-final that takes place on Friday. India won the inaugural World Twenty20 in 2007 but this is only their second semi-final appearance since then.