Frank de Boer's team has struggled against Zwolle in recent meetings, including a 5-1 humiliation in the 2014 Dutch cup final. But it was Zwolle that had trouble containing a rampant Ajax before the break, with only profligacy in front of goal keeping the score even.
Viktor Fischer squandered good chances in a first half in which only Amin Younes found the net. The Germany youth international broke the deadlock in the 37th minute by converting Mitchell Dijks' cross at the far post.
Substitute Thulani Serero completed the victory four minutes from the end.
"It's a shame we weren't four or five ahead at halftime," said De Boer.
Second-place Feyenoord beat local rival Excelsior 4-2 in a Rotterdam derby Saturday thanks to an early strike from captain Dirk Kuyt and a hat trick by striker Michiel Kramer.
Luuk de Jong scored twice before the break as PSV beat AZ Alkmaar 3-0 Sunday to stay third.