Milan, galvanised by Mauro Icardi's penalty miss in the second half, ripped through the holes in Inter Milan's defence in one of the most emphatic derby results in recent years. Milan took the lead in the first half from an Alex header and was spurred by Inter's failure to convert from the spot. Goals from strike duo Carlos Bacca and M'baye Niang punished a lacklustre Inter to give Milan a much-needed victory in their quest for European qualification.
After an odd tree-planting ceremony, the Derby della Madonnina kicked off with high intensity, with referee Antonio Damato losing control over the game almost immediately. Controversy arose early in the first half after Luca Antonelli got away with a foul on the edge of the penalty box on Sampdoria loanee Éder while Miranda's clear foul on Juraj Kucka was waved away by Damato moments later.
Milan had to weather early pressure from Inter as the Nerazzurri looked to draw first blood. Éder came close to scoring on his Inter debut after Juan Jesus found him with a cross into the box, but the Italian striker was denied by Gianluigi Donnarumma. In the 9th minute, a 25-metre effort from Marcelo Brozovic looked to have troubled Donnarumma, but the young Italian goalkeeper was able to clear the danger after initially bundling the ball. After Ivan Perisic intercepted possession and launched a counterattack, Alex came to Milan's rescue to prevent Adem Ljajic from connecting with the ball.
As the second half progressed, Milan became more settled and grew in confidence. Juraj Kucka stole the ball and charged into the box, but Samir Handanovic was there to push away the Slovakian's cross. In the 35th minute, Ignazio Abate delivered a surprisingly good cross that almost found Honda but Miranda was able to divert the ball for a corner. Seconds later, Honda turned provider and launched a wonderful cross that found Alex who - recalling Mark Hateley's header in the 1984 derby as depicted in the Curva Sud's choreography - jumped over a desperate Davide Santon to head Milan to a 1-0 lead to take into halftime.
In his first derby since securing his spot as Milan's choice goalkeeper, Donnarumma showed his naivety by running out to get a ball from Perisic, leaving his goal unattended for Juan Jesus to almost score with a lob into the open goal. Donnarumma was lucky not to have conceded a penalty when he looked to have brought down Éder after a terribly misjudged clearance early in the second half. However, replays showed that he touched the ball before making contact with Éder. An incensed Roberto Mancini was sent off from for verbally abusing the fourth official.
The big talking point of the derby, however, occurred after Mauro Icardi was brought on as a substitute for an ineffective Stevan Jovetic. The Argentine forced a save from Donnarumma in the 69th minute and was judged to have been fouled by Alex when he attempted to find the rebound. Icardi himself stepped up to take the penalty and, to the joy of the majority of the San Siro, hit the ball on the right post.
A potential 1-1 for Inter quickly turned into 3-0 for Milan. The Rossoneri were galvanized after Inter's penalty miss and took advantage of Inter's massive drop in confidence. Inter eventually succumbed to Milan's increased pressure. Niang, who was hugely disappointing in the first half, served a brilliant ball to the onrushing Carlos Bacca, who evaded Miranda and slotted past Handanovic. Four minutes later, Giacomo Bonaventura stole the ball from Santon -- who had a night to forget - and found an open Niang in the box. While Handanovic was able to save Niang's first strike, the Frenchman converted on the rebound. Substitute Mario Balotelli almost made it a poker after Honda's cross found him in the centre of the box but he was denied by Handanovic in an attempt to avoid further derby humiliation. The final whistle was met with jubilation from the Milan camp as the Rossoneri secured a 3-0 victory over their cross-town rivals.