The West Indies avoided the follow-on as they reached 215 for eight at lunch at on the third day of the third Test in Galle, still trailing hosts Sri Lanka by 171 runs.
Rahkeem Cornwall was on 33 not out off a breezy 43 balls containing five fours and a six, while Joshua Da Silva was on nine at the interval.
Jason Holder and Kyle Mayers resumed on the precarious overnight score of 113-6 needing to reach 187 to avoid being asked to bat again, and the pair managed to add 63 runs for the seventh wicket in the highest first innings partnership for the visitors.
Sri Lanka's part-time off-spinner Dhananjaya de Silva finally broke through when he induced Mayers, on 45, into an off-drive which was brilliantly taken by captain Dimuth Karunaratne at short cover.