Worcestershire were bowled out for just 196 by Northamptonshire as 14 wickets fell on a frantic first day at Northampton.
After being put in to bat, Worcestershire were grateful to Moeen Ali's 79 off 158 balls, as Andrew Hall and Trent Copeland took 3-45 and 3-51 respectively for the hosts.
The in-form Alan Richardson then took 3-43 to revive the visitors' hopes, as Division Two leaders Northamptonshire closed a frenetic day's action on 100-4.
Northants won the toss and chose to bowl and Australia international Copeland, playing in his last match before returning home, trapped Worcestershire captain Daryl Mitchell lbw for one in the sixth over.
His fellow opener Matthew Pardoe had made 22 before he left Steven Crook's delivery only to see the ball clatter into the top of his off stump.
Sri Lanka international Thilan Samaraweera then came to the crease but he was to only make 16 before Hall's delivery went through the gate and on to his middle and off stumps.
Worcestershire finished the morning session on 100-3 but they lost Alexei Kervezee for 19 in the second over after lunch when his off stump was uprooted by Hall.
Ali's resistance was finally broken when he flicked Willey's bouncer to Northants wicketkeeper David Murphy before Copeland ended Worcestershire's innings when Chris Russell (seven) chipped him to Willey at mid-off.
However, Northants lost both Matthew Spriegel (nought) and Kyle Coetzer (one) in the first over of their reply when they were taken by Ali and Mitchell at first and second slip respectively off Richardson.
Northants captain Alex Wakely made a bright 31 before mistakenly leaving Andrew's delivery and having his off stump taken out, before David Sales, having made a season-high score of 40, was trapped lbw by Richardson with the last ball of the day.