Il Milan punge nella fase iniziale con occasione importante per Giroud, e tentativo successivo di Diaz. Poi la prima frazione scorre via senza grandi sussulti: la compagine di Mazzarri e quella di Pioli si fronteggiano con aggressività, lottando su ogni pallone. Il Milan non riesce a proporre una manovra fluida, il Cagliari sporca ogni pallone, e chiude le linee di passaggio avversarie.
Su Giroud si incolla Lovato, mentre Bellanova, con le sue iniziative offensive, tiene spesso basso Theo, il più attivo tra i rossoneri. Il giovane difensore del Cagliari segue l’esterno sinistro del Milan in tutto il campo, mentre Goldaniga francobolla Leao, che tende con costanza a cercare le zone centrali. Un 3-5-2 quello del Cagliari che regge benissimo, con Grassi che limita un Brahim Diaz non particolarmente brillante, costretto in diverse circostanze ad abbassarsi per cercare palloni giocabili.
Nella ripresa, poco prima del 60′ arriva la rete di Bennacer. Il Milan attacca, con diverse unità, sganciando anche Calabria sulla destra: un filtrante raggiunge Giroud in zona centrale spalle alla porta, sponda all’indietro del francese per Bennacer che, di prima intenzione, incolla il pallone trovando un gol capolavoro. All’83’ col Cagliari sbilanciato, Calabria sciupa l’occasione del raddoppio: il terzino destro di Pioli porta avanti una ripartenza, ma davanti a Cragno tira sul portiere avversario. Al 91′ il Cagliari, che reagisce col cuore, colpisce la traversa con Pavoletti sfiorando l’1-1. Ultima clamorosa chance per il Milan con Saelemaekers il cui tiro a botta sicura viene deviato in angolo da Altare.