PSV have 40 points from 19 matches, level with Twente Enschede who host mid-table RKC Waalwijk on Saturday, while arch-rivals Ajax and Feyenoord, both three points off the pace, clash on Sunday in the game of the weekend in Amsterdam.
Benson put Zwolle ahead after 25 minutes when the home defence failed to clear a cross but PSV equalised three minutes before halftime as Tim Matavz met a Dries Mertens centre.
Ghanaian-born striker Benson got his second in the 54th after a flick from Wiljan Pluim who netted the third with a header to seal Zwolle's first win in Eindhoven since April 1983.
"I have to praise Zwolle as they kept playing but even then seeing the chances we had we should have won this match," PSV captain Mark van Bommel told Eredivisie Live TV.
"We didn't play well but at 2-1 we had three chances within five seconds five metres from the goal and I think it was crucial that we failed to equalise then."
Midway through the second half PSV's Netherlands left back Erik Pieters, making his comeback after being sidelined for a year through injury, was sent off for a wild tackle.
Pieters injured his hand on the way to the dressing room when he smashed a window and was taken to hospital.
"I can imagine Erik's reaction after his red card, which must have been very frustrating after a year of injury woes," Van Bommel added.