Kraigg Brathwaite made 85 and Jason Holder struck an unbeaten 71 as the West Indies set Sri Lanka a target of 377 for victory.
The hosts cleaned up the Sri Lanka tail for only 258 and were quick out of the blocks to build on their lead with Brathwaite again taking the attack to the bowlers.
Brathwaite and Kyle Mayers combined well before the latter departed for 55. That brought Holder to the crease, who added an 87-run partnership with the captain.
READ: West Indies on top despite rain interruption
Brathwaite eventually fell for 85 before he declared the West Indies’ second innings on 280-4.
Sri Lankan openers Lahiru Thirimanne (17) and Dimuth Karunaratne (11) made a steady start with the bat to reach stumps on 29-0.