All-rounder Roston Chase claimed his fourth five-wicket haul as West Indies bowled out Sri Lanka for 386 on day two of the first Test at Galle on Monday.
The tourists were 12 in reply with Kraigg Brathwaite given out leg before wicket to Praveen Jayawickrama in the last ball before tea, before a successful review.
Chase, who had taken two wickets on the first day, finally ended Dimuth Karunaratne's run at 147 in the morning session.
The Sri Lankan captain was smartly stumped by Joshua Da Silva after 15 boundaries from 300 balls.
Chase dismissed Dinesh Chandimal (45) and Lasith Embuldeniya (17) after lunch to finish with five for 83.
Dhananjaya de Silva, who resumed on 56, could only add five more on the second morning before being out off the bowling of Shannon Gabriel in the seventh over.
It came during a probing Gabriel spell as, having played a defensive shot to the fast bowler, de Silva realised that the ball was heading towards the wicket.
He was also the last Sri Lankan batsman to be out hit wicket -- off Mitchell Starc against Australia in the Canberra Test two years ago.
De Silva made 61 from 95 deliveries with five boundaries in a fifth-wicket partnership with Karunaratne worth 111 runs.
Jomel Warrican finished with three for 87 while Gabriel accounted for two wickets for 69 runs.
Shai Hope will replace Jeremy Solozano as a concussion substitute, the West Indies said.
Solozano, who was making his Test debut, was taken to hospital on the first morning when a full-blooded pull shot from Karunaratne smashed into his helmet grille.
Solozano spent the night under observation but scans revealed no serious injuries other than concussion and he was expected to be discharged and return to the team hotel later on Monday.