For Zwolle, they were hoping to return to winning ways after consecutive defeats to Vitesse, NEC and Willem II.
The game got off to a flying start, however, both teams were unable to get the breakthrough in front of goal.
Nevertheless, Ajax took the lead in the 29th minute thanks to Haller, who slammed Steven Berghuis’ pass past goalkeeper Kostas Lamprou.
The hosts almost restored parity soon after, and Remko Pasveer was called upon to make a smart save off Slobodan Tedic’s shot.
Seven minutes after the hour mark, the 27-year-old completed his brace. Again, it was Berghuis who set him up.
Denmark international of Sierra Leonean descent Mohamed Daramy was introduced for Berghuis eight minutes from full-time while Cote d’Ivoire’s Haller was in action from start to finish as well as Morocco international Noussair Mazraoui.
Mazraoui’s compatriot Zakaria Labyad was an unused substitute whereas Ghana international Mohammed Kudus was ruled out due to an ankle injury.
Although Ajax are undefeated in the ongoing season, they are second on the log having accrued 10 points from four games played so far.
They travel to Estadio Jose Alvalade on Wednesday for their Champions League fixture against Sporting Lisbon.
After the fixture against the Green and Whites, they take on Cambuur in their next league encounter.
At the AFAS Stadion, Nigeria prospect Noni Madueke was in action for 55 minutes as PSV Eindhoven silenced AZ Alkmaar 3-0.
Goals from Olivier Boscagli, Yorbe Vertessen and Ritsu Doan propelled the Peasants past Pascal Jansen’s side.
Madueke was subbed off for Bruma but Cote d’Ivoire’s Ibrahim Sangare was not listed for the game.
PSV – who have won all their matches so far – occupy the summit of the log with 12 points. They host Feyenoord in their next outing.