Milan win despite Van Bommel dismissal
The combative Dutch midfielder, signed from Bayern Munich in midweek, was sent off for his second booking nine minutes into the second half but four minutes later Robinho had the ball in the net after Zlatan Ibrahimovic's fierce freekick was parried.
The hosts pushed hard for an equaliser with their one man advantage but Milan grabbed a second goal when Ibrahimovic tucked away Robinho's cross after 85 minutes to show that the Rossoneri's lacklustre January form is behind them.
The win put Milan on 47 points ahead of Napoli and an overachieving Lazio side also on 40 points after a 2-0 win over mid-table visitors Fiorentina.
Milan's battling victory could prove crucial in the scudetto run-in as Catania are always tough to beat in Sicily and demanding new coach Diego Simeone was making his home debut.
"We did really well, it's difficult to play here. This three points is very important for us," Robinho told Sky.
"It was tough to play 10 against 11 but this is a team that sticks together. We're playing better now than a few weeks ago."
Milan, whose resilience was all the more impressive given they had five midfielders injured, next host Lazio on Tuesday with both sides on a high.
Czech striker Libor Kozak bagged two second-half goals to give the Romans victory over Fiorentina.
Kozak, who at one point looked set to leave in the transfer window, opened the scoring from the penalty spot in a niggly encounter after being fouled by Per Kroldrup in the 69th minute.
Soon after, the gangly forward netted a close-range header to continue the fairytale for a modest team who narrowly avoided relegation last term and suffered a recent wobble.
Fiorentina handed a debut to former Lazio midfielder Valon Behrami but again lacked any bite and fans will hope top striker Adrian Mutu's apology last week for walking out on training will lead to his reintegration to the squad.