Half centuries for Luke Procter and Ricardo Vasconcelos set up an intriguing final day at The County Ground.
Earlier, Tom Curran in his first Championship appearance for three and a half years smashed 115 in 93 balls to give the visitors a lead of an unlikely size.
His blitz was juxtaposed by the serene century completed by Hashim Amla as Surrey claimed an 82-run first-innings lead having been bowled out for 421.
Jordan Clark spliced a pull to mid-wicket to end a 49-run stand with Amla to bring Curran to the crease for his first red ball innings since April 2019..
Curran was brutal in his striking against the old ball – sweetly striking Rob Keogh straight into the Spencer Pavilion, before repeating the six-hitting into the Lynn Wilson Indoor School off Saif Zaib.
His aggression didn’t relent when the new ball arrived with his fifty coming in 47 balls, before rushing past his previous high of 60 and to three figures for the first time in a further 38 deliveries.
It was a breathless innings offering little chance to a tiring bowling attack and was appropriately celebrated with both arms aloft having slapped the 12th of his 15 fours powerfully back past bowler Keogh.
Wickets did fall in a higgledy-piggledy morning session, with Amla eventually returning for 133 when he was leg before to Keogh – it ended a 144-run stand in which Curran had bashed 103 of them. Gus Atkinson fell second ball when he stabbed onto his pad only for the ball to roll back into his stumps.
Curran returned from lunch with three fours before he was brilliantly caught by Luke Procter before Dan Worrall was bowled through the gate to give Keogh four for 95 and see Surrey all out for 421, a lead of 82.
Will Young was caught at third slip by a juggling Curran, Emilio Gay looked in good touch again before he was given out lbw to Clark before Josh Cobb overbalanced when flicking to the leg side to offer up a simple short midwicket catch.
Keogh helped his side back into the lead before a slog sweep top-edged to deep midwicket to see Northamptonshire in some trouble at 114 for four.
Luke Procter passed fifty for the seventh time this season in an unfussy manner to take his Championship tally to 931 runs before he was adjudged lbw to Gus Atkinson for 55. Vasconcelos ticking away at the other end, playing with tight composure in his 96-ball fifty and remaining unbeaten overnight.