The hosts declared their second innings at 191-4 and set West Indies an unlikely 348 runs to win.
West Indies collapsed to 18-6 in its second innings before ending the fourth day on 52-6 as Sri Lanka took complete control of the first cricket Test.
Spin bowlers Ramesh Mendis and Lasith Embuldeniya moved Sri Lanka close to victory Wednesday after the hosts declared their second innings at 191-4 and set West Indies an unlikely 348 runs to win.
Sri Lanka is just four wickets away from victory on a turning pitch at Galle International Stadium, with West Indies needing another 296 runs to win, or trying to bat out the final day.
Sri Lanka won the toss and scored 386 in its first innings. West Indies replied with 230 — conceding a 156-run lead — after resuming Wednesday on 224-9. Sri Lanka then declared its second innings early.
Sri Lanka captain Dimuth Karunaratne scored 83 runs to follow his 147 in the first innings. Angelo Mathews hit two sixes and six boundaries for 69 not out.
West Indies’ second-innings collapse began when offspinner Mendis trapped West Indies captain Kraigg Brathwaite lbw without scoring in the fourth over. Mathews took a brilliant catch diving forward at mid-on to dismiss Jermaine Blackwood (9) off left-arm spinner Embuldeniya.
When Mendis bowled Jason Holder in the first ball he faced with a delivery that went straight on, the West Indies plummeted to 18-6.
Nkrumah Bonner (18 not out) and Joshua Da Silva (15 not out) shared an unbroken 34 runs for the seventh wicket when play closed early because of bad light.
Mendis had bowling figures of 4-17 while Embuldeniya took 2-18.