Match ends, Inter Milan 1, Milan 0.
Rodrigo Palacio's late goal clinched Inter a vital derby win at the San Siro as AC Milan's stuttering season took a turn for the worse.
A poor game between the two former European powerhouses was heading for a goalless draw when Palacio turned in Fredy Guarin's cross.
Milan's Andrea Poli had earlier wasted a chance to give his side the lead when he blazed over from a good position.
They finished with 10 men after Sulley Muntari's lunge on Zdravko Kuzmanovic.
Milan can have few complaints and were fortunate when Inter had a strong penalty claim turned down shortly before the interval after a clumsy challenge from Cristian Zapata on the dangerous Palacio.
Massimiliano Allegri's side head into the short winter break with one win in the last nine league games.
The 18-time champions of Italy and seven-time champions of Europe will resume their Serie A campaign at home to Atalanta on 6 January, just five points above the relegation zone.
They started brightly with Mario Balotelli threatening his former club in spells before Kaka almost broke the deadlock with a low shot from 16 yards which Inter goalkeeper Samir Handanovic failed to gather at the first attempt.
Midfielder Poli was presented with a glorious opportunity after Handanovic made a mess of a corner, but he failed to keep his composure and blazed over the bar.
Inter, now up to fifth in the table, were denied a penalty following Zapata's foul on Palacio before Muntari's ugly challenge on Brazil-born Jonathan which the referee failed to spot.
The game needed a moment of quality and Palacio provided it in the 86th minute, the Argentina forward firing home from close range after Guarin's cross.
Muntari pressed the self-destruct button as his shoulder barge on Kuzmanovic earned the former Portsmouth midfielder a red card.
- 2Cicero Moreira
- 5Nunes JesusBooked at 67mins
- 35Da FonsecaBooked at 71mins
- 14CampagnaroBooked at 90mins
- 4ZanettiSubstituted forKuzmanovicat 68'minutes
- 21Sliti TaiderSubstituted forKovacicat 57'minutes
- 13GuarínBooked at 59mins
- 19CambiassoSubstituted forIcardiat 82'minutes
- 2De SciglioBooked at 26mins
- 21ConstantBooked at 45minsSubstituted forEmanuelsonat 45'minutes
- 34de JongBooked at 62mins
- 4MuntariBooked at 90mins
- 16PoliSubstituted forPazziniat 87'minutes
- 45BalotelliBooked at 87mins
- 8SaponaraSubstituted forMatriat 76'minutes
- 22Dos Santos Leite
- 59Vasconcellos Ferreira
- Paolo Silvio Mazzoleni
- Shots on Target
Second Half ends, Inter Milan 1, Milan 0.
Attempt missed. Giampaolo Pazzini (Milan) header from the centre of the box is too high. Assisted by Kaká with a cross following a corner.
Corner, Milan. Conceded by Samir Handanovic.
Sulley Ali Muntari (Milan) is shown the red card for fighting.
Kaká (Milan) wins a free kick on the left wing.
Foul by Jonathan (Inter Milan).
Offside, Inter Milan. Fredy Guarín tries a through ball, but Mauro Icardi is caught offside.
Attempt missed. Rodrigo Palacio (Inter Milan) left footed shot from outside the box is too high. Assisted by Mauro Icardi.
Corner, Inter Milan. Conceded by Daniele Bonera.
Substitution, Milan. Giampaolo Pazzini replaces Andrea Poli.
Mario Balotelli (Milan) is shown the yellow card.
Goal! Inter Milan 1, Milan 0. Rodrigo Palacio (Inter Milan) right footed shot from the centre of the box to the bottom left corner. Assisted by Fredy Guarín with a cross.
Foul by Mattia De Sciglio (Milan).
Yuto Nagatomo (Inter Milan) wins a free kick in the defensive half.
Substitution, Inter Milan. Mauro Icardi replaces Esteban Cambiasso.
Kaká (Milan) wins a free kick in the defensive half.
Foul by Zdravko Kuzmanovic (Inter Milan).
Attempt saved. Zdravko Kuzmanovic (Inter Milan) right footed shot from a difficult angle and long range on the left is saved in the bottom right corner. Assisted by Esteban Cambiasso.
Attempt saved. Rodrigo Palacio (Inter Milan) right footed shot from the centre of the box is saved in the bottom right corner. Assisted by Yuto Nagatomo.