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.
That West Indies - who started the day 35 runs adrift and in danger of an innings defeat -- were still in the game owed much to Shivnarine Chanderpaul's second marathon effort of the match.
Chanderpaul, officially the world's best batsman, made 91 in a total of 345 that followed his first innings 87 not out.
The Guyana left-hander batted for 10 hours and 24 minutes in this match, scoring 178 runs for once out while facing 425 balls -- a mammoth effort even by the 37-year-old's high standards.
Nevertheless, with the Lord's pitch holding up well, 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.
Chanderpaul, downplaying his own effort, said he was looking forward to some final day fireworks from Roach and new-ball partner Fidel Edwards.
England's Graeme Swann insisted Roach's late double strike hadn't caused too many jitters in the home dressing room.
Chanderpaul and Marlon Samuels he shared a fifth wicket stand of 157 that rescued the West Indies from the depths of 65 for four.
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 off Stuart Broad and edged straight to Swann at second slip.
Samuels faced 172 balls with 12 fours in an elegant and gutsy innings of 86.
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.