Making his Champion League debut, Haller scored twice in the first 10 minutes and twice again in the second half to help Ajax reach 18 goals in its last five matches.
Steven Berghuis also scored for the Dutch champions at the José Alvalade Stadium in Lisbon.
The victory ended a 22-match unbeaten home streak in all competitions for Sporting, which is back in the Champions League for the first time since 2017-18.
In the other Group C match, Erling Haaland scored a goal as Borussia Dortmund won 2-1 at Turkish champion Beşiktaş.
The 27-year-old Haller, a former West Ham player, opened the scoring with a diving header after a shot by Antony struck the post, then easily found the net from close range after another assist by the Brazilian forward inside the area.
The hosts pulled closer with a goal by Paulinho after a blunder by Ajax goalkeeper Remko Pasveer in the 33rd, but six minutes later Berghuis rebuilt Ajax's two-goal cushion before Haller got his third in the 51st and fourth in the 63rd.
Ajax had already scored 13 goals from seven different players in its first four Dutch league games this season.
Sporting was unbeaten at home since losing to LASK in the Europa League playoffs last year. It had lost only once in 29 matches in all competitions — to Benfica in the Portuguese league last season.
The Portuguese champion is making its ninth appearance in the group stage of the Champions League. It made it back to the European competition by winning its first Portuguese league title in 19 years last season, ending a reign by local powerhouses Porto and Benfica.
Ajax is in the group stage for the fourth straight time, and 17th overall, a record for a Dutch club. Ajax was tied with PSV with 16 appearances each entering this season.
Ajax advanced past the group stage only once in its last eight appearances — when it reached the semifinals in 2019.
Sporting lost defender Gonçalo Inácio 20 minutes into the match because of an injury.