West Indies captain Kraigg Brathwaite will sleep on 99 not out with the hosts 7-287 at stumps on day one of the second Test against Sri Lanka.
Brathwaite carried his bat through the day to the brink of his first Test century since 2018.
He took over the captaincy in February from Jason Holder and has been dying for a big score after only three half-centuries in 16 innings over the past year.
Brathwaite held together an innings that wobbled at the start and briefly in the middle.
His stands of 71 with Kyle Mayers, 51 with Holder, and an unbeaten 65 with Rakheem Cornwall ensured the West Indies finished the day on top.
Brathwaite is trying to lead his side to a third series win against Sri Lanka after the Twenty20s and one-day internationals, while preventing the tourists from a first Test series win in the Caribbean.
Both teams were unchanged from the drawn first Test last week in the same, fan-free Sir Vivian Richards Stadium.
Sri Lanka won the toss but the bowling was let down by four dropped catches, two of them proving costly.
Brathwaite was dropped on 37 at third slip by Oshada Fernando off left-arm quick Vishwa Fernando, and Mayers was dropped on 12 at third slip by Pathum Nissanka off medium-pacer Suranga Lakmal.
Lakmal was the pick of the bowlers, taking 3-71.
He started the day with six consecutive maidens, two of them with wickets; opener John Campbell for 5 and Nkrumah Bonner for a duck.
Lakmal's eventful seventh over conceded three boundaries to Mayers, who was then dropped.
Mayers was eventually out for 49 in the first over after lunch while Holder also fell in the middle session, for 30 off 34 balls.
Sri Lanka's attack faded as the day progressed with Brathwaite batting on serenely, facing 239 balls and striking 11 boundaries.
He received late support from Cornwall, who was 43 not out from 53 balls - a week after his maiden Test half-century of 61.