Despite playing most of the second half with 10 men after Mark van Bommel was sent off on his AC Milan league debut, the Rossoneri kept their nose in front ahead of Sunday's matches.
Goalscorer Robinho claimed that Milan are closing in on the scudetto crown.
"I'm happy with the win against a team that defends really well," he told Sky Sport.
"We're still top and there are 15 or 20 games left so we have to keep playing this way."
"It's tough to play with 10 men but I don't think Van Bommel deserved his second yellow."
Milan coach Massimiliano Allegri said Van Bommel will have to learn to adapt to Italian football while praising Ibrahimovic's contribution."
"Van Bommel needs to be more cunning but it's only his second game (following his debut in the Italian Cup in midweek)," he said.
"You don't get booked for fouls like that in Germany but he's inclined to go in hard."
"(Ibrahimovic) is having the best season of his career in terms of the intensity of his play."
"He's very enthusiastic, he feels he's a leader and he's even defending. That's the most important thing he does, if he does it then everyone gets behind him."
Milan were quick to state their intent as they carved out an opportunity in the first minute.
An exchange between Antonio Cassano and Ibrahimovic broke down but the Sweden forward managed to prod the ball to the unmarked Robinho, whose curling
shot from 20 yards lacked the power to beat Mariano Andujar in the Catania goal.
In a bright opening, the hosts were next to threaten as Maxi Lopez teed up Pablo Ledesma but his shot was well off target.
The game then settled down into cagey probing and it was almost half-time when Ibrahimovic's brilliant pass picked out Cassano who couldn't quite wrap his foot around the ball.
Ibrahimovic had two shots from distance well off target at the start of the second period before Van Bommel, who signed from Bayern Munich in midweek, received his marching orders on 54 minutes after a second booking.
Just four minutes later the visitors were in front as Andujar failed to hold Ibrahimovic's fierce free-kick and Robinho was quickest to react to the rebound.
When Milan captain Massimo Ambrosini had to go off with a thigh injury, Catania started to pressure the league leaders.
Adrian Ricchiuti volleyed over and then fellow substitute Simone Pesce headed too high.
Milan remained dangerous on the counter and Andujar had to make saves from both Ibrahimovic and another league debutant, Urby Emanuelson.
And then five minutes from time they hit the Sicilians with the killer second as Robinho crossed for Ibrahimovic to poke home.
Earlier, Czech forward Libor Kozak grabbed both goals as Lazio beat Fiorentina 2-0 to keep their slim title hopes alive.
They trail Milan by seven points and provisionally moved up to third ahead of Sunday's matches.
Kozak was offered a first league start of the season by coach Edy Reja as Mauro Zarate sat out the game amid growing transfer speculation surrounding the Argentine.
And the 21-year-old grasped his rare opportunity with both hands, scoring the game winner for the third time this season.
He opened the scoring from the spot before heading home the second just four minutes later to put Lazio third in the table, above city rivals Roma who play on Sunday.
Despite their lofty standing, Reja still insists the club have more modest ambitions having reached the 40-point mark, the theoretical number of points needed to avoid relegation.
"Today we reached 40 points so we're safe," he said. "Our aim hasn't changed, we want to get into the Europa League."