Kemar Roach grabbed two quick wickets for the West Indies in a lively opening spell to put Sri Lanka under pressure on the first day of the second Test yesterday.
Roach removed Tillakaratne Dilshan and Tharanga Paranavitana before the hosts struggled to reach 84 for three at stumps in their first innings on a pitch that was helpful to the fast bowlers.
He conceded just 18 runs in his disciplined eight-over opening spell.
Kumar Sangakkara, the Sri Lanka captain, was unbeaten on 25 and Thilan Samaraweera was on 26 not out when bad light stopped play just after tea.
Only 37.2 overs were bowled in the day, with no play possible in the morning session because of a wet outfield.
Sangakkara and Samaraweera put on 50 for the unfinished fourth-wicket stand to steady the innings, but found runs hard to come by against an impressive West Indies pace attack in overcast conditions.
Samaraweera smashed the match's first six, hooking Roach in the afternoon session. He also hit two fours in his 69-ball knock. Sangakkara has so far hit two boundaries in his 92-ball innings.
Sri Lanka, electing to bat after winning the toss, suffered a setback in the fifth over when Dilshan was bowled by Roach after contributing just four runs.
Roach nearly got the wicket of Sangakkara with a rising delivery, but Darren Sammy, the West Indies captain, failed to latch on to a sharp chance at third slip when the batsman was on two.
The West Indies paceman did not have to wait long for his second success as he had Paranavitana (16) caught by Dwayne Bravo at second slip.
Sri Lanka were in trouble when new-ball bowler Sammy bowled Mahela Jayawardene, the former captain, for two.
But Sangakkara and Samaraweera brought stability, ensuring no further wickets were lost, although they will be looking to move the score on this morning and try and get to a competitive total when play restarts.