Tilakratne Dilshan, the tournament´s leading run scorer, carried his bat through the innings scoring 96 not out off 57 balls to help Sri Lanka score 158/8 before Angelo Matthews took three wickets in the first over to put West Indies on backfoot.
Matthews´ 3/16 and ace-spinner Muttiah Muralitharan´s 3/29 outshown Chris Gayle´s knock of 63 not out off 50 balls. No other West Indies batsman scored double-digit as they were bowled out for 101 in 17.4 overs.
Mystery spinner Ajantha Mendis continued good work with 2/9 while Lasith Malinga and Isuru Udana took a wicket each.
Earlier, man of the match Dilshan´s 96 not out was the centrepiece of Sri Lanka´s 158/5 after West Indies captain Chris Gayle chose to bowl first. Dilshan´s 57-ball innings, featuring two sixes and 12 fours, was the equal third-best in Twenty20 international history.
Only fellow opener Sanath Jayasuriya (24) and Angelo Mathews (12 not out) also made it into double figures.
Dilshan got Sri Lanka off to a flyer, sweeping a low full toss from Jerome Taylor for six and handing out similar treatment to West Indies captain and off-spinner Chris Gayle.
"He is a pioneering stroke-maker in Twenty20," Sangakkara said about Dilshan.
But a first-wicket stand of 73 was ended when Jayawardene, who had been unusually subdued, flicked Bravo straight to Taylor at short fine leg.
It was the start of a collapse that saw three wickets lost for four runs in eight balls. Sri Lanka captain Kumar Sangakkara fell for a duck when Kieron Pollard leapt at point to hold a well-struck cut shot off Bravo.
And Mahela Jayawardene had made only two before he too was caught at short fine leg, by Shivnarine Chanderpaul, off medium-pacer Pollard.
Dilshan then completed his fifty and took advantage of a trio of loose deliveries to hit three fours in as many balls off medium-pacer Bravo.
Mathews added late impetus by striking Gayle for a six and a four off successive balls in the final over.
Dilshan needed to hit a six off the last ball to become only the second player, after Gayle, to score a Twenty20 international hundred but was unable to clear the ropes although the over went for 18 runs.
Five-match T20 series: Nepal gears up for its final encounter a...