Sri Lanka spinners Ramesh Mendis and Praveen Jayawickrama shared five wickets to leave West Indies struggling on 113-6 in reply to the home team's first-innings 386 on the second day of the first cricket test on Monday.
Off-spinner Mendis removed Kraigg Brathwaite (41), Shai Hope (10) and Roston Chase (2) to finish the day with figures of 3-23. Jayawickrama picked up 2-25 while fellow spinner Lasith Embuldeniya claimed the other wicket to fall.
Kyle Mayers was 22 not out at stumps, batting with Jason Holder (1).
Earlier, West Indies did well to take the last seven Sri Lanka wickets for 119 runs after the hosts had laid a solid foundation for a good score when they resumed on 267 for three.
Sri Lanka captain Dimuth Karunaratne, who reached his 13th test hundred on Sunday, was stumped by Joshua Da Silva off spinner Chase for 147. He hit 15 fours in his 300-ball innings.
Dhananjaya de Silva also made 61 before hitting his wicket.
Chase took 5-83, his fourth test five-wicket haul, while left-arm spinner Jomel Warrican claimed 3-87.
West Indies batsman Jeremy Solozano, playing his first test, is out of the rest of the match after being concussed when receiving a blow on his helmet as he fielded at short leg on Sunday.
Hope has come in to the side as his replacement.