Harbhajan, who missed out on the ongoing Test series against England, took 6-57 to follow his first innings haul of 5-34 at Canterbury as Kent failed to make 200 for the second time in the match - 171.
That left Surrey needing just 107 to win which they reached in 24 overs.
County Championship leaders Sussex and Yorkshire were both under pressure as the title race looked set to take an interesting twist.
Top side Sussex, the champions, faced a huge task to salvage anything from their clash with Warwickshire at Hove.
Warwickshire were 77 for two in their second innings at the close, 342 ahead having earlier bowled out the hosts for 168 to take a first-innings lead of 265.
Adam Shantry and James Anyon both ripped through the Sussex order with four wickets apiece, only Luke Wright offering resistance with 61.
Glen Chapple took four wickets and England all-rounder Andrew Flintoff, continuing his recovery from ankle surgery, three as Lancashire skittled Roses rivals Yorkshire for 144 at Headingley.
The hosts were 22 for five at one point before Tim Bresnan (39) and Adil Rashid (34) at least offered some resistance.
At stumps Lancashire were two ahead on 146 for two with Paul Horton unbeaten on 82.