Needing to survive the day after Yorkshire declared on 557-6, Surrey were bowled out for 207 with four overs remaining at Headingley.
Joe Root (2-23) dismissed Kumar Sangakkara (61) and Steven Davies (52) to spark a collapse from 138-2.
Steven Patterson claimed three wickets after tea and Liam Plunkett sealed victory by removing Matt Dunn.
Early-morning rain meant Yorkshire had 84 overs to claim 10 wickets, and their task was made more challenging after England all-rounder David Willey was told not to bowl for six weeks because of an abdominal injury.
Surrey openers Rory Burns and Arun Harinath fell cheaply as Jack Brooks (3-65) and Plunkett struck with the new ball.
England batsman Root's part-time off-spin proved influential in the afternoon session as he had Sri Lankan Sangakkara caught at cover to end a third-wicket stand of 104 with Davies.
Jason Roy clipped the returning Brooks to mid-wicket before Root claimed a second wicket in three overs by trapping Davies lbw.
Although a further four overs were lost to rain after tea, Patterson bowled Tom Curran and Ben Foakes either side of having Gareth Batty caught behind during a fiery spell.
It left Ravi Rampaul and Dunn needing to survive 10.1 overs, but Plunkett's second wicket secured victory.
A maximum 24-point haul took Yorkshire one point clear of Lancashire, who beat Hampshire by an innings and 94 runs earlier on Wednesday.
Surrey head coach Michael di Venuto told BBC Radio London:
"To get bowled out for 330 (in the first innings) was probably under-par on that surface and very good players in fine touch enabled Yorkshire to get a big score.
"The weather played its part and gave us a great opportunity to get something out of this game, but today we were well short.
"In most games so far, we've been in terrific positions and haven't quite been ruthless enough.
"People get hundreds, but not the really big hundreds; we've had good partnerships, but not the big 200 plus partnerships, and that's certainly something we need to do a lot better."
Defending champions Yorkshire went top of the County Championship as they beat Surrey by an innings and 20 runs.