Inter Milan 1-0 AC Milan
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.