James Anderson claimed his 500th Test wicket but West Indies recovered from a rocky start to their second innings to lead England by 22 runs in a finely poised third Test.
Having started day two 46-4 in response to the Windies' first-innings total of 123, England largely continued to struggle with the bat.
But a half-century from Ben Stokes (60) and Stuart Broad's 45-ball 38 helped England reach 194 all out, a lead of 71 despite Kemar Roach getting on the Lord's honours board after taking 5-72.
Anderson (2-17) needed just 18 balls to join Glenn McGrath and Courtney Walsh as the three seamers in the 500 club, demolishing the middle stump of Kraigg Brathwaite (4).
Kyle Hope (1) was trapped lbw by Broad to leave the tourists on 21-2 but Kieran Powell (45), who eventually became Anderson's 501st victim, and Shai Hope (35 not out) repaired the damage to take them to the close on 93-3, still very much in contention to claim a first Test series win since 2014 and a first in England since 1988.
Dawid Malan's indifferent start to his Test career continued when he was caught behind for 20 off Roach before rain forced an early lunch.
Stokes was then dropped on 23 by Kyle Hope and he and Jonny Bairstow made the Winides pay with an impressive stand of 56.
Bairstow went leg before for 21, with Stokes following him in strange fashion as Shannon Gabriel (1-64) skittled him twice in three balls, the first ruled a no-ball that the seamer responded to by clattering one into middle stump.
Roach's five-for came as Moeen Ali (3) was caught in the gully and Toby Roland-Jones (13) also went cheaply before a series of lusty blows from Broad pushed England towards 200.
Broad bottom-edged Jason Holder (4-54) to Shane Dowrich to end the innings, but the momentum in the match was quickly back with England as Anderson reached his milestone.
Anderson received a standing ovation after deceiving Brathwaite with an in-swinger and Broad soon got in on the act as Kyle Hope failed again after going for a duck in the first innings.
Powell was dropped on two by Stokes off Broad and, though Anderson eventually bowled him, he and England will have been frustrated not to have made further inroads as the Windies continue to threaten what would be a humiliating defeat for England.