ROME // A 10-man AC Milan rallied for a 1-1 draw with last-place Bari after Zlatan Ibrahimovic was sent off for punching an opponent in the stomach.
Second-half substitute Antonio Cassano scored in the 82nd minute for the Serie A leader following a superb cross from Luca Antonini at the San Siro.
Hungary forward Gergely Rudolf had put Bari ahead in the 39th, finishing off a perfectly executed set piece.
Ibrahimovic was given a straight red card for hitting Marco Rossi in the 73rd after the defender beat him to a header.
Milan restored their five-point lead over Inter Milan after its city rival was held to a 1-1 draw at Brescia on Friday.
Later, third-place Napoli was at Parma and fourth-place Lazio met Roma in a derby.
While Milan dominated throughout, Bari took advantage of its only legitimate chance in the first half.
Sergio Almiron slid a free kick around Milan's wall to Rudolf and with only goalkeeper Christian Abbiati to beat Rudolf found the target with an angled shot inside the far post as Milan's cast of international stars looked on incredulously.
Robinho, the Milan striker, had a goal waved off for offside 30 seconds into the second half and Ibrahimovic also had a strike called back when he was whistled for controlling the ball with his arm. Outraged, the Sweden international argued that the ball had merely touched his shoulder. The outburst cost him a yellow card.
Ibrahimovic also had several other chances, but his emotions appeared to have taken a toll on his confidence after he took much of the blame for Milan's elimination from the Champions League by Tottenham on Wednesday.
Fortunately for Milan, Cassano appeared fresh when he came on, although he didn't celebrate after scoring against his hometown club.
Former Milan standouts Marco van Basten and George Weah were on hand for the match and a celebration of Italian Premier Silvio Berlusconi's 25-year anniversary as club president.