Rob Keogh produced an extraordinary spell of bowling to take nine for 52 on the second morning at Northampton as Glamorgan were bowled out for 124, conceding a first-innings lead of 145 in their Specsavers County Championship Division Two clash.
It was the sixth-best return by a Northants bowler, just the seventh instance of a nine-wicket innings haul for the County, and the best figures for Northants against Glamorgan.
Finding significant help outside the right-handers’ off stump from the Abington Avenue end - from where Kiran Carlson took four of his five for 28 on day one - Keogh floated Glamorgan to destruction.
Genuine dismissals were mixed in with poor strokes as the visitors found no way to overcome the off-spinner.
Keogh struck in the fourth over of the morning with Nick Selman sharply held at short leg by Saif Zaib.
Will Bragg followed lbw to Keogh’s arm ball, and then David Lloyd tried to be positive and use his feet, but found a sharply turning ball beat his off drive.
Then followed two naive sweeps from out of the rough by Anuerin Donald and Carlson - both caught by Chad Barrett at backward square-leg.
Graham Wagg advanced to both his deliveries - the second of which he wasn’t to the pitch off and gloved a catch to short leg.
At that stage, Keogh had six for 25. But any dreams of just the second 10-wicket haul for Northamptonshire were dashed as Graeme White found turn into the left-handed Jacques Rudolph, whose composed innings of 37 came to an end with a catch at leg slip.
But Keogh cleaned up the tail to complete a nine-for and put Northants firmly in control of the match.
And Ben Duckett soon set about putting the game beyond Glamorgan as he hammered a stunning 185 from 159 balls, passing 1,000 first-class runs for the season in the process, as Northants made their way to 305 for seven before declaring.
Keogh had also chipped in with 40, while Steven Crook added 30 from 34 balls.
Glamorgan played out the final three overs of the day without scoring, but they face a seemingly impossible task as they need 451 runs to win the match.