The tourists are 57 runs ahead with six second innings wickets remaining, with Marlon Samuels unbeaten on 79 and Shivnarine Chanderpaul 73 not out.
Samuels played the more aggressive innings, hitting 11 fours from 152 balls while Chanderpaul reached his 61st test 50 with a knock of 181 balls that included nine fours.
England's bowlers struggled throughout, failing to take a single wicket.
A reported 17,000 tickets had been sold for the fourth day, but the morning session began with the ground half—full, the floodlights on and a strong wind buffeting the players and making it feel significantly colder than the recorded 10 degrees Celsius (50F).
West Indies had resumed 35 runs behind on 120—4 and made a precarious start.
Samuels edged James Anderson's first ball of the day just short of the slip cordon and Chanderpaul was nearly ran out in the seventh over of the day, the 57th, when Samuels went for a risky single, but Kevin Pietersen narrowly missed the stumps with a flick from midwicket.
The batsmen grew in confidence and the first boundaries of the day came from the 60th over, Samuels swatting successive balls from Stuart Broad for four.
Chanderpaul survived another scare when he ran halfway down the wicket with Samuels motionless at the other end, but he scrambled back to his crease before Matt Prior could get to the stumps.
Samuels reached 50 with an extra cover drive off Anderson for four, then swiped Graeme Swann for four through point to give West Indies the lead.
The 100 partnership came from 210 balls and Chanderpaul brought up his 50 with an inside edge for four off Tim Bresnan.
Bresnan occasionally threatened Chanderpaul's outside off stump, but the batsmen survived to give West Indies a fighting chance of saving the test.