Nissanka and Mendis put on 136 for the second wicket and with contributions of 45 by Charith Asalanka and an unbeaten 44 by Janith Liyanage, Sri Lanka reached 7-303 after being asked to bat on Wednesday (local time).
West Indies captain Shai Hope carried the fight to Sri Lanka with 56 from 66 balls and opener Justin Greaves made 45 from 38 balls, but the home side was all out for 262 in the final over.
After partnerships of 50 for the first wicket and 52 for the third, wickets fell regularly and the required run-rate climbed. There was still hope when Roston Chase was at the crease, but his innings of 33 ended when he was bowled by Dushmantha Chameeram, who took 4-67.
West Indies won the toss and chose to bowl first on a pitch that looked likely to favour slower bowlers. They made an early breakthrough when Kamindu Mendis was out for 12 in the seventh over.
Nissanka and Kusal Mendis came together at that point and carried Sri Lanka to 2-158, before Mendis was out for 72 off 62 balls.Â
Opener Nissanka carried on briefly before falling for 79 from 102 balls.
The home side needed to pick up wickets in the middle overs, but Asalanka and Liyanage provided stiff resistance, putting on 64 for the fifth wicket.
Hope was out with his side 5-167 in the 31st over, and from there the resistance faded.
Near the end of the match a floodlight failed and the players left the field for bad light. The West Indies' cause was already lost by that stage - they needed 43 runs from eight balls with one wicket remaining.
The second game of the three-match series is in Kingston on Saturday, with the third on Monday, also at Sabina Park.