In this Milan vs Inter match, I analyse the key tactical moments, individual performances and turning points of the game.
San Siro hosted another Derby della Madonnina. Inter arrived as comfortable league leaders, ten points clear, while AC Milan tried to close the gap and at the same time prove that this Allegri team remains competitive even without particularly brilliant football.
The game started with a mistake that could have changed everything immediately. In the 3rd minute, Yann Sommer completely misplayed a pass during build-up and gifted possession to Milan. Luka Modrić received the ball near the box, shifted it and shot wide, with the ball passing close to the post. It was the first warning in a start where Milan showed more energy.
For a few minutes it seemed the rossoneri wanted to press high and suffocate Inter, but that intensity did not last long. Milan quickly dropped their lines and began doing what characterises this Allegri team: defensive organisation, collective pressure only when necessary and a lot of patience while waiting for the opponent’s mistake.
Inter began to have more possession, but curiously they did not inspire much confidence with it. There was circulation, but little acceleration and almost no creativity to break Milan’s defensive structure. As both teams were lined up in almost identical systems, the space between the lines was minimal and the match turned into a very tactical battle.
By the 30th minute the feeling was clear: the game was dull. Not because of a lack of player quality, but because neither team could truly create danger.
Inter’s first real big chance came in the 34th minute. Henrikh Mkhitaryan appeared alone inside the box after a counter-attack and found himself one-on-one with Mike Maignan, who responded with an incredible save. Even so, looking at it coldly, the shot could have been placed much better.
In the 35th minute, Estupiñán appeared behind the defence after an excellent pass from Fofana and struck powerfully at the near post. A sharp shot, impossible for Sommer.
What felt strangest was Inter’s reaction. Even while trailing, the team looked surprisingly passive when pressing after losing the ball, allowing Milan to find some space in the attacking half.
In the second half, the scenario changed slightly. Inter began to push the game into Milan’s half, while Allegri’s side retreated deeper and deeper. The plan became clear: defend, recover and quickly release Rafael Leão in transition.
In the 65th minute another notable moment arrived. Alessandro Bastoni stopped a possible counter-attack with a hard tackle on Rabiot and received a yellow card. It was a very ugly tactical foul.
In the final minutes Milan started doing what they do well: managing the game, breaking the rhythm and surviving.
Already in stoppage time, at 90+3, the ball even ended up in Milan’s net, but the referee had already blown the whistle beforehand for a foul or something similar, immediately cancelling the play. Milan held on until the end.
Post-match
The final whistle confirmed a match that was not a spectacle of goals or dribbles, but a demonstration of patience, organisation and tactical intelligence. Allegri has built a Milan that knows how to survive and take advantage of the opponent’s mistakes. Milan may not dominate matches, but they know exactly how to punish and resist.
For Inter, the defeat itself does not weigh heavily in the standings since they remain leaders, but losing a derby is never comfortable, especially when they had so much time and possession to create danger. What was missing was the ability to finish their chances.

