The tall striker netted twice in the opening 10 minutes to set Ajax on their way, and completed his hat-trick early in the second half before adding another goal just after the hour mark at Lisbon's Jose Alvalade Stadium.
The combination of winger Antony and Haller proved lethal as Ajax got off to a dream start in the second minute, with the Brazilian's shot deflected on to the post and Haller dipping his head to get to the rebound.
Antony's run down the right set up Haller's second after nine minutes before Paulinho pulled one back in the 33rd minute with an angled shot that Ajax goalkeeper Remko Pasveer let slip under his body.
Berghuis ensured a 3-1 halftime lead with a polished side-foot finish but Paulinho had the ball in the Ajax net straight after the break only to be ruled offside after a VAR check.
Haller, whom Ajax forgot to register for European club competition last season in an embarrassing administrative botch-up, then added two more in the 51st and 63rd minutes.