Set 333 to win, Bangladesh faltered and were 7-109 at stumps on Monday (Tuesday AEDT) on a day when 17 wickets fell, 14 to fast bowlers.
Jaker Ali was 15 not out when bad light stopped play for the third day in a row.
He shared a 43-run partnership with Mehidy Hasan Miraz (45) heading towards stumps, which briefly fanned Bangladesh hopes of taking the match well into the final day.
But Mehidy was out four overs from the end and, with his departure, the tourists' brave fightback was extinguished.
Kemar Roach led the way for the West Indies with 3-20, and Jayden Seales took 3-31.
Roach dismissed Zakir Hasan (0), Shahadat Hossain (4) and Mominul Haque (11) to leave the Bangladesh innings in tatters at 4-23.
Mehidy revived the innings in partnerships of 36 with Litton Das (22) and 43 with Jaker.
Seales struck to remove Mehidy and Taijul Islam close to stumps to leave the West Indies poised for victory.
Earlier, the West Indies had to stifle a determined comeback from Bangladesh, who surprisingly declared at their overnight total of 9-269, conceding a first-innings lead of 181 runs.
Taskin Ahmed then took his first five-wicket bag in Tests as the West Indies were bowled out for 152 in just over 46 overs.
The right-armer, playing in his 16th Test, took a career-best 6-64 as Bangladesh kept the West Indies' lead below 350.
Bangladesh bowler Taskin Ahmed has taken a career-best 6-64 against the West Indies. (AP PHOTO)
Taskin showed the value of bowling line and length on a fourth-day pitch at Sir Vivian Richards Stadium as he ran through the West Indies line-up in the second session.
The West Indies went to lunch at 3-61, in a strong position to make their overall lead formidable.
Taskin dismissed Mikyle Louis (8) and Keacy Carty (3) in the first session, then came into his own by taking four more wickets as the West Indies were bowled out just on tea.
"It's very special to me, my first five-wicket haul in Test cricket," Taskin said.
"I've had a few opportunities, but I didn't make that five before.
"In the first innings I thought I bowled OK, but I learned from the first innings what lengths and lines are good here and I tried to bowl consistently."
Taskin's massive effort was squandered when Bangladesh lost Zakir Hasan (0) to the fifth ball of their second innings and Mahmadul Hasan Joy (6) three overs later.
Roach also bowled exacting line and length to remove Shahadat and Mominul, leaving Bangladesh four down in only the 13th over.
The 17 wickets that fell on Monday were a record for a single day in a Test match at Antigua.