AC Milan took another big step forward in their start to the 2025-26 season with a comprehensive 3-0 win away from home against Udinese.
The opening goal came not long before half-time as Christian Pulisic pounced on a parry from the goalkeeper to fire in, then just after the break Youssouf Fofana profited from some hustle by the American to fire in a second.
The game was put beyond doubt when Pulisic got his second of the night; a lashing low first-time finish that Sava perhaps should have done better with. Other chances came and went in a thoroughly dominant performance in the north east.
Massimiliano Allegri made two changes to the line-up that beat Bologna on Sunday, with Pietro Terracciano coming in for the injured Mike Maignan, and Christian Pulisic replacing Ruben Loftus-Cheek.
What was very noticeable before a ball was even kicked was how vocal the away support was. With the Curva Sud still boycotting home games, they were present in Udine and in their hundreds, making a lot of noise from the start.
The first save of the night was made by Terracciano as he gathered a shot from Atta from range easily. At the other end, Sava’s first stop was a more tricky one as Pulisic hammed a shot at his from a narrow angle that was parried wide.
There was a worrying moment for Milan in the 10th minute when Pulisic was taken out by Zarraga and stayed down after a bang on the hip. However, he was able to get up and continue, only to get clattered again not long after.
Santiago Gimenez was guilty of missing a couple of big chances against Bologna, and will have wanted the ground to swallow him up in the 19th minute when he missed another 1v1. A beautiful ball from Pervis Estupinan found the run of the Mexican in behind and he took a good touch but shot straight at the goalkeeper.

Just as he had been in the first few games, Luka Modric was at the heart of what Milan created. A beautiful ball with the outside of his boot found Estupinan’s run in behind, though the flag went up, and on the half-hour mark he had a delightful free-kick cleared at the back post.
Just over five minutes before the break, Milan got themselves deservedly in front and it was Pulisic who was the scorer. The American picked up the second ball deep in Udinese territory and found Estupinan’s overlapping run, with his cut-back deflected onto Sava’s gloves and into Pulisic’s path, before being thumped into the back of the net.
The final incident of the first half was a half-shout for a penalty on Davis. As a cross cross came in from Udinese’s left side, the English striker went down near Strahinja Pavlovic. However, the replays showed that the defender simply stood firm and did nothing wrong.
It took Milan less than 60 seconds after the break to double their advantage, and it was a chaotic goal to say the least. Pulisic stole the ball from Karlstrom as he completely made a meal of trying to jockey the ball out and, after chopping his man down, the ball fell to Fofana who fired in low at the near post past Sava.
Less than seven minutes after the second goal went in, a third hit the back of the net. It was a flowing but also quite simple bit of play to get out of Udinese’s press and spark a break, with Rabiot sliding the ball through to Pulisic down the right side of the box. The winger hit it first time with his right foot and it squeezed past Sava.

Just after the hour mark, Allegri chose to make a couple of substitutions. Christopher Nkunku and Ruben Loftus-Cheek were the ones who came on, allowing Pulisic and Gimenez to get a breather.
After the third goal, it was one way traffic as the Rossoneri looked to pile on the goals. Firstly Loftus-Cheek glanced a header over from a Saelemaekers cross, then Nkunku blazed over after a foray forward from Pulisic.
In minute 67, another two changes came as Fofana and Pavlovic came off, replaced by Samuele Ricci and Koni De Winter respectively in like-for-like changes.
Saelemaekers deserved a goal of his own for the work rate that he put in down the right side and he wasn’t far off getting one when Rabiot had an attempt blocked into his path and he drew a reaction save from Sava. Moments later, Modric was withdrawn for Zachary Athekame.
The final chance of the game fell to Rabiot, who dragged a shot narrowly wide of the far post as Milan toyed with their opponents. Not long after, the full-time whistle blew to seal a job well done.