AC Milan beat Inter 3-1 in the Derby della Madonnina at San Siro on Saturday, racing two goals clear through Christian Pulisic and Adrien Rabiot inside ten minutes. Diego Moreira added a first-half free kick, and Inter’s unbeaten Serie A start came to an end.
Milan, Italy: Ten minutes was all AC Milan needed. By the time San Siro had settled into the Derby della Madonnina, Christian Pulisic and Adrien Rabiot had put the hosts two goals clear, and Inter, who arrived at the top of Serie A, spent the rest of the night chasing a game that had already slipped away.
Moreira pulls the strings
The first goal came in the fourth minute. Diego Moreira got past his marker down the right and delivered a cross, and Pulisic rose inside the six-yard box to head it into the bottom corner. Pulisic, who also scored in Milan’s earlier 2-0 win over Udinese, had his side in front before the derby had properly begun.
Moreira was involved again six minutes later. His corner was worked short to Rabiot, who had peeled away from his marker and swept a first-time, left-footed shot in off the far post. Two chances, two goals, and Inter were already in trouble.
Inter hit back, Maignan holds firm
Inter did not fold. In the 22nd minute Hakan Çalhanoğlu swung in a corner, Manuel Akanji flicked it on at the near post, and Alessandro Bastoni headed in from close range to cut the deficit. The visitors then enjoyed a spell of control, and Mike Maignan was the reason Milan stayed in front. The goalkeeper pushed a long-range effort from Çalhanoğlu over the bar, produced a reflex save to deny Djed Spence in the 33rd minute and kept out an attempt from Petar Sučić in the 42nd.
Carlos Augusto, meanwhile, was wasteful for Inter. He headed wide in the 19th minute and later failed to make contact with an unmarked chance in the 55th.
A free kick that settles it
Milan restored their two-goal cushion just before the interval. In the 43rd minute Moreira stepped up to a free kick and curled it over the wall with his left foot, beating goalkeeper Josep Martínez. The winger had now scored once and set up both of the other Milan goals, a complete derby performance.
Koni De Winter was booked for Milan in the 49th minute, and Moreira followed him into the referee’s notebook three minutes later. Inter pushed for a second goal and Martínez had to make a flying save to keep out a strike from Alphadjo Cissé late on, but Milan’s defence held. Carlos Augusto was booked in the 90th minute as the visitors ran out of time.
A derby that ends a run
The result ended Inter’s unbeaten start to the Serie A season. Cristian Chivu’s side had arrived at the summit and left with their first league defeat, beaten by a Milan team that took its chances early and defended its lead with discipline and one outstanding goalkeeper.
Full time: AC Milan 3, Inter 1 (Serie A, San Siro, 31 October 2026)
Milan: Pulisic 4’, Rabiot 10’, Moreira 43’. Inter: Bastoni 22’.
Bookings: De Winter 49’, Moreira 52’ (Milan); Carlos Augusto 90’ (Inter).



