Shannon Gabriel limited Sri Lanka to a first-innings score of 253 in the second Test, yet that total would have been much lower but for Dinesh Chandimal's resolve against West Indies.

Sri Lanka captain Chandimal elected to bat but was soon required to rescue his side from embarrassment as the hosts started strongly, his unbeaten knock of 119 restoring a measure of respectability after defeat in the first match.

Indeed, Gabriel (5-59) got to work straight away, removing Test debutant Mahela Udawatte for a duck with a thick edge to Jason Holder, before ruthlessly dispatching of Dhananjaya de Silva (12).

Kusal Perera's stand ended at 32, but that brought Chandimal to the crease and the skipper forged a handy partnership of 67 with Kusal Mendis (45).

The wickets steadily began to fall again, though, with Chandimal watching partner after partner depart as he hung in and plundered the occasional boundary - 11 in total - to keep Sri Lanka ticking over.

Gabriel removed Roshen Silva (6) and Niroshan Dickwella (16) next, while Kemar Roach (4-49) began to make regular breakthroughs, too.

But Chandimal carried his side past 200 and sought to ensure West Indies' momentum was checked where possible, even escaping a late dismissal as Roach overstepped.

His efforts were in vain as Lahiru Kumara departed for a duck two balls later, however, bringing the innings to an end, before the hosts batted out the final overs to head into Friday at 2-0 and in a commanding position.