Chasing a revised target of 230 to win, West Indies were reduced to 31 for four in 8.2 overs but Lendl Simmons (52) and Darren Bravo (46) recovered the innings and kept them in the chase in the rain-reduced 41-over a side game.
Earlier, Kumar Sangakkara played a battling 95-ball unconquered innings of 90, which was studded with six fours and one six, to help Sri Lanka post 219 for eight in the match, which was pushed to the reserve day after persistent rain forced officials to call off the game yesterday.
West Indies' chase was derailed by some good bowling by Sri Lankan bowlers -- especially Angelo Mathews and Shaminda Eranga -- who reduced the hosts to 31 for four in 8.2 overs.
Skipper Mathews stuck the first blow in the 5th over when he had the dangerous Chris Gayle (14) caught at deep point, while pacer Eranga dismissed other opener Johnson Charles (14) and Marlon Samuels (0) in his third over.
Mathews came back to pick up his second wicket when he trapped newman Devon Smith in front of wicket. However, Simmons and Bravo steadied the innings and kept the hosts in the hunt with some good batting.
Earlier, a series of rain interruptions reduced the game to a 41-over a side affair today but Sangakkara ensured that Sri Lanka have a good score on board as he set the foundation early on and then accelerated in the end, despite losing partners at regular intervals.
Skipper Angelo Mathews (30) and Lahiru Thirimanne (23) were the other contributors for Sri Lanka.
Yesterday, riding on Roach's two quick wickets, West Indies had reduced Sri Lanka to 60 for three in 19 overs when heavens opened up and interrupted the play. With rain refusing to abate, the play was called off for the day and it was pushed to the reserve day.
