Catania reaped the rewards of a strong first-half performance as they held on for a deserved point against AC Milan.
Ciro Capuano's screamer gave the visitors the lead but a trademark tap-in from Filippo Inzaghi - who had already squandered a clear opportunity - levelled matters shortly before the interval.
Inzaghi missed further chances in the second half, though, and Zlatan Ibrahimovic was denied by the offside flag as Milan were frustrated. Home keeper Christian Abbiati was busy in the opening 10 minutes, denying Adrian Ricchiuti following a neat one-two with Maxi Lopez and then tipping over another effort from the same player.
Ibrahimovic set up Inzaghi in the 13th minute but the veteran somehow skied his effort over the bar. And Catania responded superbly to the let-off, Abbiati saving Alessandro Potenza's low drive before Capuano stunned the San Siro in the 26th minute.
The full-back seized on possession 30 yards out and his low drive found its way past Abbiati and into the bottom left corner. Ricchiuti should have doubled the lead two minutes later when unmarked in the penalty area at the end of a counter-attack led by Maxi Lopez, but he failed even to work Abbiati on this occasion.
Maxi Lopez was narrowly off target with a cheeky 20-yard lob and Abbiati saved Mariano Izco's drive before Giuseppe Mascara crossed for Matias Auguste Silvestre, whose header skimmed the outside of the upright.
Milan belatedly got back into the game, with Ibrahimovic shooting wide from 10 yards before Luca Antonini found Ronaldinho, who teed up Inzaghi to make amends for his earlier miss and level the match. The goal boosted Milan and the second half saw them take the upper hand in the game, with Ibrahimovic's backheel setting up Clarence Seedorf for a 20-yard drive which keeper Mariano Andujar turned away.
Inzaghi was halted by a marginal offside flag when presented with another close-range chance and Thiago Silva headed Luca Antonini's cross over. Ibrahimovic had the ball in the net but there was little argument with the assistant referee's flag, before Andujar plunged at the feet of Inzaghi to deny him another close-range strike.
The wasteful Inzaghi then failed to make a meaningful contact with Seedorf's deep cross and saw a header from within the six-yard box held by Andujar as his evening drifted into frustration.