Oshane Thomas took 5/28 in the Powerplay to hinder Sri Lanks's chase, after Lendl Simmons had earlier struck an unbeaten 67 in a total of 196/4.
West Indies got off to a strong start batting first courtesy of Brandon King and Simmons, having won the toss. Lakshan Sandakan eventually broke the opening stand in the ninth over, King holing out for 33, but the pair had already put on 74 runs.
Nicholas Pooran scored only 14 before being undone by Wanindu Hasaranga's googly, bringing Andre Russell to the crease in his first T20I since August 2018. He proceded to smash a four and two sixes from Sandakan's next set of six before repeating the feat off Hasaranga. But Sri Lanka captain Lasith Malinga brought himself back, and he dismissed Russell with a brilliant inswinging yorker for a 14-ball 35.
New man Kieron Pollard, playing his 500th T20, becoming the first to reach this milestone, also set off at a canter. Three boundaries from Malinga's next over were backed up by a six off each of Hasaranga and Isuru Udana to take the West Indies captain to 10,000 runs in T20s – long-time teammate Chris Gayle is the only other player to reach the mark to date. But Udana struck back next ball, having Pollard caught in the deep for 34 from his 15th ball faced.
Simmons quietly accumulated throughout the innings, ending unbeaten on 67 from 51 balls.
Sri Lanka set off quickly in reply, but were hampered by Oshane Thomas who took three wickets in his first over, two of them feathered behind from quick short balls, and then collecting another wicket with the final delivery of each of his next two overs to take his tally for the innings to five.
Despite the wickets, Kusal Perera had ensured the hosts kept up with the rate, finishing the Powerplay with 28 from 12 balls. Hasaranga was the man who finally provided him prolonged support, and the pair put on 87 runs for the sixth wicket. But Hasaranga's dismissal to Rovman Powell for 44 in the 16th over was the beginning of the end, as each of the next four overs also brought wickets to leave Sri Lanka all out for 171.
The second and final match of the series will be played in Kandy on Friday 6 March.