Eredivisie: AZ 2 PEC Zwolle 1
Early goals from Steven Berghuis and Nemanja Gudelj put the hosts well in control, before Mustafa Saymak pulled one back shortly before the break to give Zwolle hope.
Zwolle, though, were unable to force an equaliser in the second half and were lucky not to fall further behind when Aron Johannsson saw a penalty saved by Diederik Boer.
The win leaves AZ in seventh, seven points clear of ninth-placed Groningen, while defeat leaves Zwolle looking nervously over their shoulder, with just a one-point cushion to their nearest challengers for a UEFA Europa League play-off place.
Dick Advocaat's AZ side took the lead in fortunate circumstances inside six minutes, Berghuis picking up a short corner from Roy Beerens before curling in a cross from the right-hand side that crept in at the far post.
Eight minutes later and AZ doubled their lead, Johannsson seeing his effort kept out before the ball ran kindly for Gudelj, who took a touch and placed the ball low inside the right-hand upright.
The visitors were indebted to Boer for keeping them in the game, the goalkeeper doing brilliantly to deny Johannsson and then Beerens from close range as the hosts completely dominated their opponents.
Zwolle managed to weather the early storm and hauled themselves back into contention two minutes before the break, Saymak heading home Jesper Drost's left-wing cross from 10 yards.
Johannsson wasted the chance to restore AZ's two-goal advantage nine minutes after half-time, seeing his weak spot-kick saved by Boer after he had been felled in the box by Joost Broerse.
Gudelj was similarly wasteful 10 minutes later, placing his effort narrowly wide of goal after being played in clean through against Boer.
Substitute Johann Berg Gudmundsson went close to a spectacular third for AZ 10 minutes from time, his left-footed looping volley clipping the top of the crossbar with Boer stranded, but it mattered little as AZ comfortably held on to their advantage to strengthen their chances of a top-eight finish.