On an evening of exciting football in Serie A, late drama ensued as Inter Milan were awarded a controversial penalty in the closing stages of the game to take all three points and the bragging rights of the city, while keeping within distance of leaders Napoli.
A hat-trick from Mauro Icardi, with a last-gasp penalty in the 89th minute gave the hosts a victory, although replays show the foul on Danilo D'Ambrosio from Ricardo Rodríguez was a soft one. Goals from Suso and Giacomo Bonaventura gave the visitors hope, but it was Inter who took all three points.
A pulsating derby that goes back a hundred and nine years began with both teams playing on the front foot, passing and probing to test the defensive set up and tactics of a match between two rivals in second place and ninth in Serie A.
As the tackles went flying in during a typical hot-blooded affair between the two sides of Milan, referee Paolo Tagliavento had to keep his wits about him to know who was play acting and which was a genuine foul, booking Nerazzurri defender Miranda and AC Milan stopper Alessio Romagnoli in the first half.
The first real chance of the half fell to the excellent Antonio Candreva, who curled a sumptuous right-footed effort from twenty-five yards out, which crashed off the bar, as Gianluigi Donnarumma scrambled to keep it out.
Inter again tested the young Italian international with a powerful Miranda header from a Ivan Perišić cross, which was just outside the post as the home side pushed for the first goal of the game.
With twenty eight minutes gone, the home crowd were on their feet as captain and in-form striker Mauro Icardi bagged his seventh league goal, as the Argentine swept home a deft flick, thanks to a dangerous whipped in cross from Italian midfielder Candreva, who put it on a plate for Icardi.
As the visitors struggled through the majority of the first half to create any decent chances, on the stroke of half time former Liverpool forward Fabio Borini nearly found the opener for Rossoneri, after a fantastic through ball from Franck Kessié played the striker through on goal. Struggling to set himself, Borini hit a tame shot into the path of Samir Handanović, who parried the ball away with ease after a low save.
After a poor first half, the away side came out of the blocks much faster, as former Villarreal defender Mateo Musacchio looked to have scored his first goal in Italy, finishing off a rebound from a André Silva shot which hit the post, but his celebrations were cut short when the visitors realised the flag was up.
Further efforts from substitute Patrick Cutrone and Suso, who fizzed a speculative effort from 30 yards out, forcing a difficult save from Handanović, giving the hosts a cause for concern. Cutrone again showed why he was introduced from the bench, whiskers away from getting his side off the mark with a flicked shot, similar to Icardi's goal, which hit the side netting.
Finally making their early second half pressure pay, AC Milan got back on level terms with ex-Liverpool midfielder Suso equalising in the Derby della Madonnina. Using the overlapping run of Musacchio to create some space outside the box, the Spaniard opened up his body and bent a wonderful left footed strike past Handanović, who had no chance.
Following ten minutes of intense pressure, Inter Milan finally woke up in the second half with the hosts nearly taking the lead once again, as Matías Vecino should have finished a relatively easy chance from ten yards out, sending an effort wide of the post under no pressure.
As AC Milan looked the more likely to score a second with Bonaventura testing the safe hands of Handanović once more , their city rivals made the Rossoneri pay as Icardi showed why he is one of the deadliest strikers in Italian football right now.
Winning the ball on the half way line before running at the AC Milan defence, the Argentine forward waited for Perišić to support him, playing the Croatian winger down the line who in turn lifted in a delicate pass, which Icardi dispatched on the volley magnificently.
With both sides pushing to put the game beyond doubt, to their credit, the Rossoneri came back once again to bring another enthralling game to 2-2, as Bonaventura at the second time of asking found the back of the net, with goal-line replays showing the ball had clearly crossed the line. Showing the desire needed as many Inter defenders watched on, the midfielder had to just help the ball in after a whipped in Borini cross.
Subsitite Eder came close with a shot which was blocked by Miranda, but it was Icardi who stepped up to the plate in the final stages of the game, taking his side ten points clear of their rivals with a cool penalty in the 89th minute, after Rodriguez was adjudged to have brought down D'Ambrosio in the box.