Lecce starting XI (4-3-3): Falcone, Veiga, Gaspar, Tiago Gabriel, Gallo, Kaba (subbed for Berisha), Ramadani (subbed for Helgason), Coulibaly, Pierotti (subbed for Sottil), Camarda (subbed for Stulic), Morente (subbed for N’Dri)

Bench: Früchtl, Samooja, Kouassi, Ndaba, Pérez, Siebert, Maleh, Sala, Banda

AC Milan starting XI (3-5-2): Maignan, Tomori, Gabbia, Pavlovic, Musah, Loftus-Cheek (subbed for Ricci), Modric, Fofana, Estupiñan, Saelemaekers (subbed for Pulisic), Gimenez (subbed for Balentien)

Bench: Pittarella, Terracciano, Athekame, Bartesaghi, De Winter, Chukwueze

Goals: Loftus-Cheek 66’, Pulisic 86’

AC Milan finally got off the mark in the new season with a 2–0 victory over Lecce, though the win came amid a performance that left manager Massimiliano Allegri visibly displeased.

Despite an early surge, Milan struggled to establish control, even seeing two goals ruled out in a first half full of frustration - Matteo Gabbia’s header was chalked off for a foul, and Santiago Giménez later had one disallowed for offside.

Lecce had rarely threatened before half-time, but they grew into the contest as Mohamed Kaba came close early in the second half, only to send a tame effort straight at Mike Maignan.

The breakthrough came in the 66th minute when Luka Modrić swung in a perfect free-kick that found Ruben Loftus-Cheek rising above all to glance home and lift the visitors into the lead.

Milan’s control remained patchy, compounded by ongoing absences of key forwards due to summer departures and injuries. Still, they cleared the fog in the final stages when Christian Pulisic, introduced off the bench, seized on a defensive error and coolly slotted the ball into the bottom corner, sealing the victory.

After the full-time whistle, Allegri’s frustration was laid bare as he stormed down the tunnel.