Rob Keogh stepped up in an injury crisis to hit a career-best 158 as Northampton reached 323-6 against Hampshire after a stirring fightback at the Ageas Bowl.
Keogh's previous top score in six first-class matches was a modest 44, but his perfectly-paced innings after Hampshire had dominated the first session on day one made a mockery of that.
Keogh came into the Northamptonshire line-up at the last minute because of the absence of David Willey and then Graeme White who was hurt in the warm-up, and he responded in the right manner in big stands alongside Andrew Hall and Matt Spriegel.
Northamptonshire left-arm pace bowler James Tomlinson struck the first blow by having Stephen Peters caught at first slip and then David Balcombe knocked James Middlebrook's off stump out of the ground with the score at 10.
Keogh came to the crease at 24-3 when Alex Wakeley was caught at the wicket off Balcombe and that worsened to 32-4 when David Sales was deceived by some extra bounce from Matt Coles, the pace bowler on loan from Kent.
But as the sun came out, Hampshire lost their way and Keogh and Hall began the repair process in a major partnership of 120 for the fifth wicket in 34 overs, 21-year-old Keogh quickly overtaking his previous best.
Hampshire, who were without Michael Carberry and Danny Briggs, both on international duty, called up triallist Ruel Brathwaite from Durham and it was the Barbadian-born pace bowler who broke the stand.
Hall, who made 48, pulled a short delivery to deep square leg where Michael Roberts held a tumbling catch, running forward.
Steven Crook lifted Brathwaite for six to get off the mark but had not added to his total when he chased a wide delivery down the leg side from the same bowler and Michael Bates, restored to the Hampshire wicketkeeping role, held a catch away to his left.
That put Northamptonshire, a team in urgent need of bonus points to close the widening gap on Division Two leaders Lancashire, on 162-6.
Keogh was then joined by Spriegel and together they took the initiative away from Hampshire in an unbroken stand of 161 for the seventh wicket, with former Surrey bowler Spriegel playing his full part, 61 not out with six boundaries.