The tourists had slumped to 61 for six in their second innings at stumps on the third day.
That gave them a lead of just three runs after England had made a first innings 428 featuring captain Andrew Strauss's second hundred in as many Tests.
Marlon Samuels (13 not out) and West Indies captain Darren Sammy (nought not out), who both made hundreds in the first innings, were together at the close.
Earlier in this match they'd shared a stand of 204 but it was now going to take something special, with two days left, to prevent world number ones
England, who won the first Test at Lord's by five wickets, from going 2-0 up in this three-match series.
James Anderson removed both West Indies openers in a spell of two wickets for three runs in eight balls while fellow seamer Tim Bresnan followed up with three for nine in 26.
Anderson bowled Kieran Powell for one after the left-hander inside-edged a drive onto his stumps and then had Adrian Barath lbw for seven.
Shivnarine Chanderpaul, officially the world's best batsman, walked out at number four instead of his usual number five slot when the tourists were forced into a rejig as regular number three Kirk Edwards was suffering with 'flu.
So far this series, Chanderpaul had come to the crease at 86 for three, 36 for three and 42 for three.
But having batted for over 10 hours in total at Lord's and spent more than two hours compiling 46 in the first innings of this match, Chanderpaul batted for just 24 minutes on Sunday.
The left-hander had made a mere 11 when his renowned concentration faltered as he fell into a hooking trap, top-edging Stuart Broad's bouncer to Jonathan Trott at long leg.
And when Darren Bravo, who took Edwards's spot at three, was lbw to Bresnan the desperate review showed the ball hitting middle stump -- West Indies were 45 for four and still 13 runs adrift of making England bat again.
They avoided the embarrassment of an innings defeat when Samuels clipped Bresnan for a boundary through mid-wicket.
But in the space of three balls Bresnan had Ramdin and Edwards lbw, the latter out for nought.
England resumed Sunday on 259 for two in reply to West Indies' first innings 370. Strauss was 102 not out and Kevin Pietersen 72 not out.
It was left-handed opener Strauss's second century of the series after he ended an 18-month wait for a Test ton with 122 at Lord's.
But whenever he'd been previously been not out overnight on a Test hundred, Strauss had never added more than six runs.
It was Pietersen though who was unable to press on Sunday when he was lbw to Ravi Rampaul's inswinger for 80, ending a third-wicket partnership of 144.
Fast bowler Rampaul, who missed the first Test with a neck injury, led the attack well with three for 75 in 32 overs.
The West Indies then saw fast bowler Kemar Roach take two for six in 16 balls with the new ball to reduce England to 308 for five, removing Ian Bell and Jonathan Bairstow, who struggled against anything pitched short.
Strauss found runs hard to come by Sunday, managing just 39 in 98 balls, and he was eventually caught behind off the medium-pace of Sammy.
He batted for more than seven hours in total, facing 303 balls with 22 fours.
England were still behind when Strauss was out at 363 for seven.
But West Indies, who bowled well, then had to suffer a frustrating eighth-wicket stand of 53 between Bresnan (39 not out) and Broad (25).
Part-time spinner Samuels ended the innings with two wickets for one run in nine balls.