Australia seamer Trent Copeland tore through Worcestershire's batting to put Northamptonshire on the brink of victory after two days of their LV= County Championship match.
Northamptonshire were bowled out for 314 during the afternoon, giving the Division Two leaders a first innings advantage of 118, with Steven Crook hammering 85 off as many balls including three huge sixes.
Copeland, who is playing his last match before returning home, then took three wickets for 26 as Worcestershire subsided to 97 for six at the close, still 21 runs in arrears.
The hosts began the day on 100 for four, 96 behind their opponents, with Rob Keogh resuming on 26 and Andrew Hall beginning his innings.
But Hall was only able to make 10 before Gareth Andrew took a good low catch at third slip to give Alan Richardson his fourth wicket in the seventh over of the day.
Keogh moved on to 44 but was denied a maiden first-class half-century when he edged Andrew to Moeen Ali at first slip to leave the hosts 134 for six.
Crook was then given a massive let-off on six when he launched Andrew into the air, only for Aneesh Kapil to drop a straightforward catch at deep square leg.
He was to make Kapil pay for that blunder by blasting a half-century off 52 balls as he and James Middlebrook added 96 between them for the seventh wicket.
The partnership was eventually broken when Middlebrook was sharply caught and bowled by Ali to depart for 39 in the third over after lunch.
Crook finally perished when his middle stump was taken out by Chris Russell before Copeland sent the same bowler to Jack Shantry at mid-on after clattering 31.
Russell then ended the hosts' innings by trapping wicketkeeper David Murphy lbw for four, leaving David Willey unbeaten on 15 at the other end.
Worcestershire lost their captain Daryl Mitchell for eight in the penultimate over before tea when he left a Crook delivery, only to see his off stump sent spinning.
Matthew Pardoe was dismissed for 24 when he nudged Willey to Murphy before Copeland pinned Sri Lanka batsman Thilan Samaraweera lbw for four.
Copeland then repeated the trick on Alexei Kervezee and Kapil was trapped leg before by Willey before wicketkeeper Michael Johnson became yet another lbw victim to Copeland.
Ali and Andrew then survived the final 10 overs and will resume tomorrow on 29 and 16 respectively with their side staring at defeat.