A week earlier the Caribbean side batted through the last day at the same venue to ensure a draw after being set 375 to win
In an almost exact reversal of roles from the first Test, Sri Lanka will go into the final day of the second and final Test having been set a challenging target of 377 after the West Indies declared their second innings at 280 for four on the fourth day on Thursday.
A week earlier the Caribbean side batted through the last day at the same venue to ensure a draw after being set 375 to win.
Now it will be the visitors heading to the final morning at 29 without loss after the opening pair of Lahiru Thirimanne and captain Dimuth Karunaratne navigated nine overs to the close.
For the second time in four years Kraigg Brathwaite missed out on the rare feat of centuries in both innings of a Test when he was dismissed for 85 as the West Indies skipper was again the fulcrum of his team's second innings effort.
In the second Test of the 2017 series against England at Leeds, Brathwaite scored 134 and 95 as the West Indies achieved a famous victory.
Having occupied the crease for eight-and-a-half hours in accumulating 126 out of 354 in the first innings, Brathwaite was more energetic second time around with his team looking to set a declaration.
Nevertheless his five hours at the crease in which he faced 196 balls and struck only four boundaries was again typical of his phlegmatic manner.
Expectations of a declaration when he was bowled by Dushmantha Chameera deep into the final session proved unfounded as the pair of Jason Holder and Joshua da Silva put on 53 unbroken for the fifth wicket when the call finally came.
Sri Lanka's openers get through nine overs unbeaten and that's stumps on Day 4!— ESPNcricinfo (@ESPNcricinfo) April 1, 2021
The visitors need 348 runs on the final day for victory, West Indies need 10 wickets #WIvSL
Holder dominated the scoring with an unbeaten 71.
"I just wanted to give us enough time to get the sort of runs on the board that our bowlers can work with," said Braithwaite in justifying the delayed declaration.
"This is still a good batting pitch but I back our bowlers to put in a really good effort on the last day."
Kyle Mayers' positive play in getting to 55 had ideally complemented the opener's more measured pace in the afternoon session.
After Kemar Roach polished off the Sri Lankan first innings at 258 by taking the last two wickets in the space of three deliveries in the fourth over of the morning, West Indies went in pursuit of quick runs to consolidate their position.
They lost John Campbell early, the left-handed opener again dismissed to a catch by wicketkeeper Niroshan Dickwella off Lakmal.
New batsman Jermaine Blackwood lived a charmed life but his luck eventually ran out with his score on 18, Chameera, the third pacer in the Sri Lankan bowling attack, inducing an edge for Dickwella to take his seventh catch of the match.
It all went wrong for Sri Lanka at the start of the day when Pathum Nissanka could only add two more runs to his overnight 49 before top-edging an attempted pull off Roach for substitute fielder Hayden Walsh Jr to take his second catch of the innings at deep square-leg.
Roach then wrapped up the innings by having last man Fernando caught behind to finish with figures of three for 58.
Stumps Day 4
Sri Lanka 29 for 0 (Thirimanne 17*, Karunaratne 11*) and 258 (Thirimanne 55, Nissanka 51, Roach 3-58) trail West Indies 280 for 4 (Brathwaite 85, Holder 71*, Mayers 55, Lakmal 2-62) and 354 (Brathwaite 126, Cornwall 73, Lakmal 4-94) by 347 runs