Milan strikes twice in nine minutes to beat Inter 3-1 in the Derby della Madonnina
Pulisic, Rabiot and Moreira scored for an efficient Milan side that weathered Inter's dominance and 19 shots, with Bastoni pulling one back for the Nerazzurri.

Nine minutes. That's all it took for Milan to make life difficult for Inter at a packed Stadio Giuseppe Meazza. Christian Pulisic opened the scoring in the 3rd minute with a header on the low side off a Diego Moreira cross, and before Inter could respond, Adrien Rabiot made it 2-0 in the 9th minute, finishing with his left foot off a corner that Moreira also delivered. Milan went on to win 3-1, spoiling the afternoon for an Inter side that came in as the favorite.
Inter pulled one back quickly, in the 21st minute, when Alessandro Bastoni headed home from point blank range off another corner, the second in a series that threatened to level the match. But Milan had another card up its sleeve: right before halftime, in the 42nd minute, Diego Moreira converted a direct free kick with a left footed strike into the top corner to make it 3-1, the score at the break and, ultimately, the final scoreline.
Dominance that wasn't enough
The strange part is that the result didn't reflect what happened on the field for much of the match. Inter held the majority of possession (56.9 percent to 43.1 percent), fired off 19 shots to Milan's 7 and had 8 shots on target compared to the home side's 4. Inter also won the corner count, 11 to 3. Milan, with less of the ball and fewer chances, was simply sharper when it mattered.
| Statistic | Milan | Internazionale |
|---|---|---|
| Possession (%) | 43.1 | 56.9 |
| Shots | 7 | 19 |
| Shots on target | 4 | 8 |
| Big chances | 2 | 2 |
| Corners | 3 | 11 |
| Passes | 407 | 525 |
| Fouls committed | 8 | 14 |
That gap also shows up in the estimated xG we calculated from the match's shots: 2.269 for Inter compared to just 0.90 for Milan. It's a measure of what was generated over the 90 minutes, not a prediction, but it confirms that Inter created more chances than its opponent needed to take all three points. Milan was clinical with its few forays forward, Inter was wasteful with its many.
In the second half, Inter kept pushing. The team had several headed chances, tried its luck with shots from outside the box, and in the 74th minute appealed for a penalty that VAR ended up waving off. As the substitutes came on, with Zielinski, Mkhitaryan, Dimarco, Esposito and Bonny all entering the match, Cristian Chivu's side kept up the pressure but could not find the second goal that would have put it fully back in the fight.
What the preview said and what actually happened
Before the match, our projection gave Inter a 44 percent chance of winning, against 29 percent for Milan and 27 percent for a draw, with expected goals of 1.62 for Inter and 1.29 for Milan. The result was the exact opposite of what the pre-match numbers suggested: Milan, with less possession and fewer shots, made the most of its efficiency to win a match that, according to the projections, should have tilted the other way.
The win leaves Milan with 21 points in Serie A, four behind an Inter side that sits on 25 after the loss, its first setback of the season according to the standings, having arrived at the match with eight wins and a draw. Milan, for its part, picked up its sixth win of the campaign so far. What this match at the Meazza leaves behind is a lesson in the difference between dominating and finishing: Inter had the ball and the chances, but Milan had the goals when they counted.
ATH
RSO
VAN
SEA
MAR
TOU
SMT
COL
SUP
CAV
GRE
ATL
GUA
BOL
CCP
OLI
CAG
UNI
LEX
COS
GUA
LIB
BEL
BAC
NOB
UNI
BRA
FAM
JUV
NAP
DAN
NAC
ATL
TOR
NSH
RBNY
NE
MIA
LAF
MIN
POR
HOU
CSL
NCX
CAZ
LEO
GTI
QAC
VAR
MOR
ISF
ONC
ATL
ALI
AGU
FAS
ANT
MUN
GUA
COB
COM
MIX
MOT
MAR
OLA
FCU
CAR
LA
BOS
BAY
SD
GFC
UTA
HOU
POR