A total of 46,122 fans were in attendance, with both sides also changing into brand new 2024/25 kits at half-time as part of the City and Milan for Change initiative.
Erling Haaland opened the scoring with a clinical low finish having been set up by Oscar Bobb inside 20 minutes, but the Rossoneri responded through a Lorenzo Colombo brace before the break.
James McAtee headed home on 55 minutes to draw City level, but substitute Marco Nasti’s first-time effort sealed the win for Milan.
What happened
With both sides taking part in just their second pre-season friendlies, it took a while for the game to truly hit top gear.
Ederson, starting for the first time since returning from injury, got down well to save Ruben Loftus-Cheek’s low effort across goal early on and Samuel Chukwueze fired wide from a promising position, but neither side had really been able to gain a foothold in the game’s opening exchanges.
That was until two of our brightest sparks on the US Tour so far sprang into action.
After breaking forward down the City right, James McAtee regained possession to release Oscar Bobb.
The youngster’s clever shimmy away from Fikayo Tomori opened up the space down the right of the area, before he cut the ball back into the path of Haaland, who needed no second invitation.
It was the spark that the game needed, with our two Norwegian’s combining once again when Haaland fired just over the Milan bar after more excellent work from Bobb to create the opening.
But, against the run of play, the next goal would fall the Italians’ way with Chukwueze’s clever ball into the far post headed home by Colombo.
It was frustrating for City who had been the better side for the bulk of the half, with Bobb firing wide from a promising position after playing a neat one-two with Maximo Perrone.
And Guardiola’s men were made to pay with Milan taking the lead in the next passage of play.
Once again, Chukwueze and Colombo combined with the latter firing home once again at the far post to hand Paulo Foncesca’s side the lead.
City immediately pressed for a route back into the game, with Haaland forcing a save from Lorzeno Torriani after a loose pass in the Milan backline, but it wasn’t enough to prevent us going in behind at the break.
Heading into the second half and both sides changed out of their home strips and into brand new kits as part of the City and Milan for Change initiative.
And the first player to find the net in our new Third Kit was McAtee, after great work from substitute Micah Hamilton.
The winger raced to the by-line and floated a teasing cross into the back post for the midfielder, who’s run into the box had gone unchecked, allowing him to head home the equaliser.
City were beginning to take control, but Callum Doyle had to be alert to clear an effort off our line from substitute Marco Nasti with 20 to play.
Milan were far from out of the game, and Nasti needed no invitation when presented with another sight of goal, confidently sweeping home a first-time effort from Saelemaekers’ cross despite Ederson getting a glove to it.
It was harsh on City, who will feel we deserved at least a draw in an entertaining affair.
How we lined up
Ederson‘s goal was shielded by a back four of Mahamadou Susoho, Jahmai Simpson Pusey, Callum Doyle and Rico Lewis.
Maximo Perrone sat at the base of the midfield three, with James McAtee and Nico O’Reilly given freedom to get forward and join the attack, which was unchanged from our win over Celtic.
Oscar Bobb and Jack Grealish started on either flank, with Erling Haaland as centre-forward.
City XI: Ederson (C) (Carson 78’), Susoho (Wilson-Esbrand 46’), Simpson Pusey (Katongo 46’), Doyle, Lewis, Perrone (Phillips 46’), O’Reilly (Wright 66’), McAtee (Fatah 66’), Bobb, Grealish (Gvardiol 78’), Haaland (Hamilton 46’).
Subs: Ortega Moreno, Kovacic, Ndala, Galvez, Oboavwoduo, Mbete, Heskey, Mfuni, Samuel, Knight.
AC Milan XI: Torriani, Calabria (C) (Musah 81’), Tomori (Thiaw 69’), Gabbia (Kalulu 69’), Terracciano, Florenzi (Pobega 40’), Bennacer (Liberali), Chukwueze (Nasti 69’), Loftus-Cheek (Bakoune 81’), Saelemaekers (Pulisic 81’), Colombo (Jimenez 69’).
Subs: Jovic, Raveyre, Maldini, Sportiello, Nava, Cuenca, Adli, Torriani.
Up next
City third pre-season fixture sees us lock horns with FC Barcelona in Orlando, Florida on Tuesday 30 July.
Kick-off is set for 19:00 (EDT) at the Camping World Stadium.
The match will be available to watch live on CITY+ in selected regions - for more information, click here.
FC BARCELONA v CITY | GET YOUR TICKETS
News about Man City v AC Milan
City 2-3 AC Milan: Short highlights
Check out our bitesize highlights package from the second game of our USA Tour 2024. Watch more
Wright-Phillips hails Hamilton’s impact in AC Milan clash
Shaun Wright-Phillips sounded a special salute to the impact from the bench of substitute Micah Hamilton in Saturday’s latest USA Tour clash against AC Milan in New York. Read more
Pitcam highlights: City 2-3 AC Milan
Get a unique view of our thrilling pre-season friendly with AC Milan at the Yankee Stadium in New York... Watch more
Lewis: We’re gradually getting back to our best
Rico Lewis believes City’s performance against AC Milan shows we’re starting to regain our usual sharpness. Watch more
Tunnel Cam: City 2-3 AC Milan
A behind-the-scenes look at our latest pre-season clash against AC Milan, presented by e&. Watch more
Guardiola: Milan clash a step forward
Pep Guardiola described City's pre-season friendly with AC Milan as 'a step forward' in our preparations for the 2024/25 campaign. Watch more
City 2-3 AC Milan: Extended highlights
Check out the extended highlights package from our second game of USA Tour 2024. Watch more
Full-match replay: City v AC Milan
Relive our latest pre-season clash with AC Milan on CITY+ in selected regions. Watch more
City 2-3 Milan: Match gallery
Against the iconic backdrop of the Yankee Stadium, City locked horns with Serie A giants AC Milan. View more