Usman Afzaal reached 200 for the first time in his first-class career against former employers Northamptonshire as Surrey finished day three on the brink of an innings victory at Wantage Road.
Afzaal spent over 500 minutes at the crease and hit 27 fours and two sixes on his way to 204 not out.
His superb innings meant the visitors had amassed a massive 321-run lead when they were all out off the final ball before lunch.
Stephen Peters produced an impressive rearguard action for Northants – the former Worcestershire opener racked up 78 for his second half century of the match.
But with only South African Andrew Hall (45) offering any other resistance, Northants need 133 runs with just three wickets remaining to make Surrey bat again.
The visitors, yet to win in the lv="County" Championship this season, started the morning session where they had left off on day two with Afzaal and Murtaza Hussain easing to a 50 partnership.
Former Notts left-hander Afzaal had already passed his previous best of 168 when Hussain departed for 34 - caught behind by David Murphy off Nicky Boje.
Four overs later Andre Nel – who picked up six wickets in Northants’ first innings – was clean bowled by David Wigley.
But it wasn’t long before Afzaal took centre stage again when he cruised to his first double hundred with a nudged single.
With Surrey no doubt contemplating a lunchtime declaration, the decision was made for them when Jade Dernbach edged Johan van der Wath’s final ball of the session to Rob White, leaving Surrey 530 all out from 164 overs.
The home side emerged from the lunch break staring down the barrel of an innings defeat and found themselves in further trouble at 33-2 with Rob White and Mark Nelson back in the pavilion.
And things went from bad to worse when former Lancashire leg-spinner Chris Schofield picked up two wickets in his first over of the match.
First South African Boje gave Michael Brown an easy catch before David Willey was trapped in front to leave Northants 65-4.
Peters and Hall tried to steady the ship after tea but Hall – who was earlier dropped by Scott Newman – departed for 45.
When Dernbach claimed his fifth wicket of the match, bowling Murphy, only Peters seemed to stand between the visitors and victory.