Left-arm spinner Milinda Siriwardana and captain Lasith Malinga were the star performers for the hosts, taking two wickets each for only 17 and 16 runs respectively.
Johnson Charles and Denesh Ramdin top-scored for the West Indies with 34 runs each, while Dwayne Bravo notched 31 at the R. Premadasa Stadium in Colombo.
The West Indies are looking to avoid a whitewash and end a disappointing tour of Sri Lanka with a win, after losing the first T20 by 30 runs on Monday.