The 160th Derby della Madonnina in league action was decided by a lone second half goal from Dutch midfielder Nigel De Jong who pounced for only his second goal in a Milan shirt.
The nervy early going was littered with niggling fouls as both sides looked to find their feet and there was a card dished out on 16 minutes before the first chance presented itself.
Mauro Icardi received the ball just inside his own half and was an instant recipient of a swift and cruel kick from Philippe Mexes. It was clumsy at best, malicious at worst, but either way the Frenchman survived with just a yellow.
The first Diavolo opportunity fell to the wrong man. Mattia De Sciglio received the ball on the right of the area but sent his shot careering into the side netting at the near post.
An equally ambitious effort followed from Mario Balotelli followed shortly afterwards but that too skidded tamely across the turf and harmlessly wide and it took 28 minutes before either ‘keeper was called upon when Kaka bent one around Walter Samuel but Samir Handanovic got across comfortably to hold.
He was helpless later to a blistering effort from Brazilian maestro Kaka. Nigel De Jong dispossessed Jonathan in his own box and sent a long punt towards Kaka who galloped between the centre backs towards goal and unleashed a sweetly struck volley that he caught perfectly with his laces but it crashed against the crossbar to leave him looking skywards wondering what more he could have did.
On the stroke of half time, there was little he could do to turn in a hopeful Adel Taraabt cross that he struck as it skidded against the ground and inevitably sent it sailing over.
A lacklustre start to the second half followed with it best being summed up by Mateo Kovacic driving a dangerous strike at goal but it was met by a brave block… from Icardi. Indeed, it was one of those evenings.
But on 59 minutes the Rossoneri did create another good chance when Kaka swung a corner on to the head of Mexes who outjumped Rolando but sent it spinning narrowly wide of the target.
However, that inability to defend set pieces would haunt them five minutes later when Balotelli sent a superb free kick in from the right that was met by a thumping header from De Jong at the back post to send the Curva Sud above wild.
Inter did liven up afterwards when Hernanes slid Rodrigo Palacio in on goal and the Argentine’s shot was blocked very well by hero of the day at the other end, De Jong just as it looked like they would find an instant equaliser.
Milan then saw a goal ruled out correctly when substitute Giampaolo Pazzini nimbly poked home Balotelli’s shot from an offside position. That was followed by an amusing incident wherein a lone flag waving Milanista marched on to the field for a cameo appearance before being ejected.
It was a sign of how poor the game had been that it ranked as one of the more exciting moments. In a poignant and disappointing moment too, Nerazzurri coach Walter Mazzarri chose not to give Javier Zanetti a final derby appearance by bringing Diego Milito, Fredy Guarin and Ricky Alvarez from the bench.
With the way the game went, perhaps it was for the best that Zanetti did not go out on a loser in this fixture given the service he has given to it and his club.