Quattro statunitensi in campo e tante assenze fanno da cornice al primo Milan-Juventus stagionale in un San Siro come sempre tutto esaurito.
I rossoneri devono infatti fare a meno di Mike Maignan, Theo Hernandez e Ruben Loftus-Cheek, mentre i bianconeri privi di capitan Danilo lasciano in panca Dusan Vlahovic e Federico Chiesa.
E' dei padroni di casa la prima chance del match, al minuto 15: dopo la cavalcata di Rafael Leao il diagonale mancino di Olivier Giroud sembra indirizzato nell'angolino basso alla sinistra di Wojciech Szczesny, ma il portiere polacco si esalta e devia in corner.
La Juventus, seppur timidamente, crea un'occasione con un tiro di Filip Kostic da fuori area e poi un'altra con un sinistro di Adrien Rabiot, entrambe finite fuori.
Il match cambia al minuto 40 quando Malick Thiaw si lascia sfuggire Moise Kean, lo stende e si becca un cartellino rosso per fallo da ultimo uomo che lascia i suoi in dieci.
Pioli inserisce subito Pierre Kalulu per Christian Pulisic ed è lo stesso Kean a sfiorare il vantaggio fallendo un tap-in da due passi, ma all'intervallo rimane lo 0-0.
La ripresa inizia senza particolari sussulti, con gli ospiti che non riescono a sfruttare la superiorità numerica.
Al 63esimo, in maniera casuale, è Manuel Locatelli a portare in vantaggio i suoi con un gran destro da fuori nettamente deviato da Rade Krunic, entrato tre minuti prima.
La Juventus crea due chance per il raddoppio con McKennie e Federico Gatti, ma entrambe difettano e non poco di precisione. Quest'ultimo a dieci dalla fine lascia il posto al giovanissimo Dean Huijsen, all'esordio in A.
Al minuto 85 è il subentrato Dusan Vlahovic ad andare vicino allo 0-2, ma Antonio Mirante non si fa sorprendere e devia in corner il suo mancino dal limite.
Il terzo portiere del Milan si oppone nuovamente al serbo nei minuti di recupero, ma non c'è più tempo.
Finisce 0-1, con la Juventus che sale a quota venti a -1 dai rossoneri.