Devendra Bishoo (30) and Shannon Gabriel (20) got their Test-best scores in lifting the home side from 247 for nine after Marlon Samuels' dismissal for a determined 103 triggered a lower-order collapse as the tourists' seamers made effective use of the second new ball yesterday.
Stuart Broad led the English effort, taking four for 47, while James Anderson and Chris Jordan claimed two wickets each.
It was left to Moeen Ali to end the West Indies innings, trapping Bishoo leg-before to set the stage for what could be an intriguing final session of the day.
However the 34-year-old seemed to lose concentration reaching the treasured landmark in his 100th Test innings.
Also Read
He missed a big drive at the next delivery from Anderson before edging the following one to Ian Bell for 103.
His effort in a 94-run sixth-wicket partnership with Denesh Ramdin appeared to be in vain with the West Indies losing four wickets for 24 runs.
Ramdin, the captain, fell to a catch at the wicket off Broad for 31.
When Broad had Kemar Roach caught by Joe Root at slip from an inside-edge off his pads, a swift end to the innings seemed inevitable.
However England's bowlers lost their discipline and the pair of Bishoo and Gabriel capitalised in taking their team to within a single of the 300-run mark.