Debutant West Indies spinner Jomel Warrican took four wickets to help bundle Sri Lanka out for 200 on day one of the second Test on Thursday, raising hopes of a series-saving victory for the visitors.
The 23-year-old grabbed 4-67 off 20 overs, after Sri Lanka won the toss and elected to bat at the P Sara Stadium in Colombo.
Bad light stopped play when the visitors were 1-17 off 5.2 overs in their quest for the first West Indian Test win on Sri Lankan soil.
They lost Shai Hope lbw to Dhammika Prasad in the very first over for just four.
With Kraigg Brathwaite on four not out was the nightwatchman Devendra Bishoo on five.
Warrican took the scalps of Milinda Siriwardana, who top-scored for the Sri Lankans with 68, and tailenders Dhammika Prasad and Nuwan Pradeep, as the hosts slid from 6-145 at tea to be all out in just 66 overs.
Siriwardana, playing only his second Test, was caught deep on the boundary trying to hit Warrican for his third six. He struck six fours in his maiden Test 50.
Rangana Herath, who was 26 not out, was the next-highest scorer.
Sri Lanka won the first Test in the southern coastal town of Galle by an innings.
But the hosts suffered an early collapse on Thursday, losing four wickets before lunch and another two before tea.
Jerome Taylor clean-bowled Dinesh Chandimal for 25 after the batsman's century in the first Test proved instrumental in Sri Lanka's win. Kusal Perera was caught and bowled by Warrican for 16.
In the first session, the visitors tasted early success when Taylor had opener Kaushal Silva caught behind off the fourth ball for a duck.
Umpire Rod Tucker was forced to reverse his initial decision of not out after Holder called for a review.
Opener Dimuth Karunaratne, who scored 184 in the first Test, looked shaky from the start and was next to fall for 13, followed by series debutant Kusal Mendis (13).
After a fourth review, captain Angelo Mathews was also given out, caught by Kraigg Brathwaite at second slip off Holder for 14.
The West Indies have not found Sri Lanka a happy hunting ground since they played their first official Test on the island in 1993.
Now they are next to bottom - above only Bangladesh - in the league table of regular Test-playing nations while Sri Lanka are one notch above them in seventh place.
Sri Lanka are going through a rebuilding phase after the recent retirements of star batsmen Kumar Sangakkara and Mahela Jayawardene. But they were still far too strong for the visitors in Galle.