The league leaders' 27-match unbeaten run was ended by Juventus on Wednesday, but they showed little sign of dwelling on the result as a Rafael Leao strike and Franck Kessie penalty gave the hosts a commanding lead by halftime.
Ricardo Rodriguez summoned the visitors' best effort when he crashed a free kick off the bar, but they struggled to threaten in open play.
A further boost for Milan was the return of top scorer Ibrahimovic, who came on as a substitute for the final five minutes to make his first appearance since suffering an injury against Napoli on Nov. 22.
"Now he needs to get back into good condition and we must work out how to manage that," Milan coach Stefano Pioli told DAZN.
"He's always available and collaborative, we'll find the best solution. Zlatan is so strong in everything he does. We hope to have him back at his top condition as soon as possible."
Torino, whose four-match unbeaten run came to an end, remain in 19th place on 12 points, two adrift of the safety zone.
The visitors sat deep and looked to frustrate the hosts in the first half, but Milan broke through after 25 minutes through a calm Leao finish, before Kessie calmly converted his spot kick after Brahim Diaz had been tripped by Andrea Belotti.
Torino were awarded a penalty early in the second half for a foul by Milan midfielder Sandro Tonali, but referee Fabio Maresca overturned the decision following an on-field VAR review.
Tonali hurt himself in the process and was carried off on a stretcher to worsen an injury crisis that had already ruled out five players, but Ibrahimovic made his long-awaited comeback to leave Pioli feeling upbeat.
"I wasn't surprised, I expected this response," he said.
"The team is young but strong. We played the first half at a very high level, then in the second half it was normal to suffer a little. I'm very satisfied."