Asked to bat first, Sri Lanka made 215-3 in 20 overs with Dilshan smashing 56 off 37 deliveries.
West Indies was bowled out for 185 with a ball to spare.
Andre Fletcher hit six sixes and three fours for his 25-ball 57 but the Sri Lankan bowlers took timely wickets to prevent an upset.
Lasith Malinga broke through for Sri Lanka in the second ball of the innings, bowling out Johnson Charles without a run on the board.
More From This Section
Marlon Samuels became Senanayake's first victim when he was caught by Milinda Siriwardana for 10 runs.
An aggressive 48-run stand off 19 deliveries followed between Fletcher and Andre Russell but left-arm spinner Siriwardana bowled out Russell for 16.
Dwayne Bravo and Kieron Pollard shared 51 runs for the fifth wicket. But after Bravo's dismissal for 24, West Indies lost a flurry of wickets.
Earlier Sri Lanka's top order rallied around Dilshan after being asked to bat first by West Indies captain Darren Sammy.
Sri Lankan openers Dilshan and Kusal Perera got off to an aggressive start and scored 91 runs for the first wicket off just 60 balls.
Shehan Jayasuriya at No. 3 scored 36 off 20 balls. Dinesh Chandimal was unbeaten on 40 with Angelo Mathews was 37 not out.
Pollard returned 2-42.
The second and final match will be played in Colombo on Wednesday, a day before the schedule because of a national day of mourning in Sri Lanka.