Roach took two wickets for seven runs in eight balls, including England captain, and first innings century-maker, Andrew Strauss, to leave the hosts 10 for two at the close of the fourth day.
England will need a further 181 runs to reach their seemingly modest victory target of 191 on Monday's final day in the first of this three-Test series.
The Lord's pitch appeared to be holding up and England will still be regarded as favourites for victory.
But if the tourists maintain their accuracy, and overhead conditions assist swing bowling, the West Indies -- who came into this match having won just two of their previous 30 Tests -- could yet claim a stunning success.
Roach had Strauss, who made 122 in the first innings, caught in the gully for just one and nightwatchman James Anderson caught behind for six.
After Anderson exited, Roach's next ball rapped Jonathan Trott on the pads and the tourists appealed for lbw, only for Aleem Dar to rule not out.
The West Indies reviewed the decision but as replays showed the ball only just clipping the stumps, the Pakistani umpire's original verdict was upheld.
Trott was nought not out at stumps, as was opener Alastair Cook.
Earlier, Shivnarine Chanderpaul's second marathon effort of the match kept the West Indies in the game.
Chanderpaul, officially the world's best batsman, made 91 in a total of 345 that followed his first innings 87 not out.
Stuart Broad, who took a Test-best seven for 72 in West Indies' first innings, followed up with four for 93 for a match haul of 11 for 165.
That meant the fast-medium bowler had become the first player to take 10 or more wickets in a Lord's Test since South Africa's Makhaya Ntini in 2003 and the first Englishman since Ian Botham took 11 for 140 against New Zealand in 1978.
It seemed as if Chanderpaul was heading towards a 26th Test century when he attempted to sweep the first ball of a new spell from off-spinner Graeme Swann and was given out lbw.
Chanderpaul, one of only 10 men in history to have scored 10,000 Test runs, immediately reviewed South African umpire Marais Erasmus's decision.
But replays indicated the ball would have hit the stumps and England had the wicket of the 37-year-old Guyana left-hander, one of the most obdurate batsmen in Test history.
Chanderpaul batted for 10 hours and 24 mins in this match, scoring 178 runs for once out while facing 425 balls -- a mammoth feat of concentration.
Together with Marlon Samuels he shared a fifth wicket stand of 157 that rescued the West Indies from the depths of 65 for four and a looming innings defeat in the first of this three-Test series.
The 31-year-old Samuels was closing in on what would have been only his third Test hundred when, shortly after England had taken the new ball, he played a flat-footed drive against Broad and edged straight to Swann at second slip.
Samuels faced 172 balls with 12 fours in an elegant and gutsy innings of 86.
West Indies resumed Sunday on 120 for four, 35 runs behind, having lost three wickets with their score on 36 on Saturday.
England spearhead James Anderson repeatedly beat the outside edge Sunday yet took just one for 67.