Mark Butcher's highest score of the season provided Surrey with the upper hand going into the final day against second-placed Lancashire here.
Beginning the second day 28 runs behind on first innings, the former England batsman's 86, spanning almost four hours, provided the backbone of Surrey's second knock and nullified the considerable threat of the visitors' Sri Lankan spinner Muttiah Muralitharan.
Butcher dropped anchor and had struck 11 fours when for once his footwork let him down, a static waft at a Peter Martin delivery providing a catch behind.
Adam Hollioake then scored his third half-century in four Championship innings with 73. However, as Surrey subsided from 182 for 2, the captain was eighth out, Muralitharan's second victim as he missed an attempted sweep just before the hosts closed 257 runs ahead.
Butcher added 91 for the second wicket with Ashes call-up Mark Ramprakash after another of Surrey's international band, Ian Ward, provided Martin with his first wicket of the day.
The left-handed Butcher hit Muralitharan for consecutive fours and struck his most authoritative boundary, a pull in front of square off Martin, to pass his previous best first-class score this summer of 76 against Somerset.
Ramprakash took two hours over his 35 before top-edging a sweep off Gary Keedy into the hands of the sprawling Joe Scuderi, running in from deep square leg.
Muralitharan found prodigious turn throughout, but did not break through until his 29th over, when Alistair Brown popped a chance to short leg via a combination of inside edge and pad.Reuse content