MILAN - Adriano and Dejan Stankovic scored first-half goals to give Inter victory in the 270th Milan derby as José Mourinho's men defended doggedly after Pato reduced the arrears to set up a thrilling finale.
The result sees the Nerazzurri increase their lead over second-placed Juventus to nine points, and open up a massive eleven-point gap over their city rivals.
The eagerly-awaited derby sprang to life in the 18th minute when Ibrahimovic played in Cambiasso and the Argentine swung in a cross for Stankovic who hesitated before shooting, allowing Ambrosini to make a last-gasp interception.
Ronaldinho, scorer of the winner in the reverse fixture last September, showed he relishes Milan derbies, twice setting up Pato whose second effort took a deflection off Santon, forcing Julio Cesar into a difficult save.
Inter soaked up a period of Rossoneri pressure and delivered the perfect reply inside the half hour when Maicon's pinpoint delivery from the right was headed home by Adriano.
Stankovic made amends for his earlier miss just before the break to put Inter firmly in control, firing first time past Abbiati after a headed assist from Ibrahimovic.
Adriano had a chance to wrap up the points seconds after the restart but he stroked his shot wide with just Abbiati to beat.
The Rossoneri keeper then said no to Ibrahimovic with terrific one-handed save, with Adriano hooking behind his spectacular shot from the resulting corner as Inter continued to have the upper hand.
But Milan rallied and set up a dramatic finale when Pato sidefooted home Jankulovski's pull-back from Ronaldinho's pass in the 71st minute.
Adriano had a further chance to kill off the game but was denied by Abbiati after shaking off a challenge from derby veteran Maldini.
Inter endured sustained pressure as Filippo Inzaghi saw plenty of action after coming on for derby debutant David Beckham. The Italian volleyed home Pato's cross, only for the offside flag to go up, and was caught offside again minutes later when he headed over Zambrotta's delivery.
Inzaghi went closest in time added on with a low shot that Julio Cesar saved with the tip of his toe.
Inter 2-1 AC Milan
Scorers: Adriano 29, Stankovic 43, Pato 71.
Inter: 12 Julio Cesar; 13 Maicon, 25 Samuel, 26 Chivu, 39 Santon; 4 Zanetti, 19 Cambiasso, 20 Muntari (6 Maxwell 88); 5 Stankovic (16 Burdisso 84); 8 Ibrahimovic, 10 Adriano (14 Vieira 80).
Subs not used: 1 Toldo, 2 Cordoba, 7 Figo, 9 Cruz.
Coach: José Mourinho.
AC Milan: 12 Abbiati; 15 Zambrotta, 3 Maldini, 4 Kaladze (24 Senderos 77), 18 Jankulovski; 32 Beckham (9 Inzaghi 57), 21 Pirlo, 23 Ambrosini; 10 Seedorf, 80 Ronaldinho; 7 Pato.
Subs not used: 1 Dida, 5 Emerson, 19 Favalli, 77 Antonini, 84 Flamini.
Coach: Carlo Ancelotti.
Referee: Roberto Rosetti (Turin).
Booked: Ambrosini 45, Samuel 46, Cambiasso 70, Burdisso 84, Vieira 88, Julio Cesar 90+2.