Chasing a victory target of 204, Punjab knocked off the runs in 46.5 overs largely due to the 86 run stand in only 13.3 overs between Harbhajan and Gurkeerat Singh Mann (73 no).
Earlier, Maharashtra finished first innings at 384 based on twin centuries from Kedar jadhav (109) and Rahul Tripathi (103).
Harbhajan faced 53 balls hitting four boundaries and three sixes as his counter-attack raised visions of an outright win after Punjab were reduced to 68 for four in the 24th over after Jiwanjot Singh (9), Uday Kaul (26), Amitoze Singh (7) and Mandeep Singh (11) were all back in the pavilion.
Refusing to play for a draw, Harbhajan took on opposition's left-arm spinner Akshay Darekar hitting him for a couple of sixes. He also took on their medium pacer Shrikant Mundhe as Punjab consolidated at a brisk pace.
Also Read
Gurkeerat, who has been in fine touch from the start of the domestic season, also rotated the strike well as he hit seven fours and a six in his 80-ball knock.
By the time, Harbhajan was holed out in the deep off Mundhe's bowling, Punjab needed just 53 runs with five wickets still intact.
Brief Scores: Maharashtra 210 and 384 (Kedar Jadhav 109, Rahul Tripathi 103, Sandeep Sharma 4/74, Siddharth Kaul 4/57)
Punjab 391 and (target 204) 205/7 in 46.5 overs (Gurkeerat Singh 73 no, Harbhajan Singh 50, Samad Fallah 5/60). Punjab won by 3 wkts.