Succede di tutto a San Siro tra Milan e Roma: 3-3 il risultato finale, con i rossoneri che vanno tre volte in vantaggio ma si fanno recuperare. Polemiche sull'arbitro Giacomelli
Subito in vantaggio il Milan al 2': Leao converge verso il centro e scucchiaia per Ibrahimovic che anticipa Mirante e deposita in rete la palla dell'1-0 per i rossoneri. La Roma però non molla e trova il pareggio immediato con Dzeko grazie ad un colpo di testa su calcio d'angolo, sfruttando un'uscita a vuoto di Tatarusanu, all'esordio con il Milan dopo la positività al Covid-19 di Donnarumma. Il Milan reagisce e sfiora il gol in due minuti a cavallo della mezz'ora con Theo Hernandez e Romagnoli ma Mirante e la Roma si salvano in qualche modo mentre al 30' arriva il palo di Kjaer sugli sviluppi di un corner. Prima dell'intervallo Calhanoglu su punizione sfiora il 2-1 ma Mirante dice di no e manda le due squadre negli spogliatoi sull'1-1.
Subito in avvio di ripresa, il Milan si riporta avanti: grande spunto di Leao sulla fascia sinistra, il portoghese crossa in mezzo per Saelemaekers che, col piattone, batte Mirante per il 2-1 Milan. Al 53', invece, la Roma sfiora il 2-2 in contropiede con Dzeko che, su assist di Mkhitaryan, spara alto da buona posizione. I rossoneri gestiscono il match in maniera tranquilla, la Roma attacca e trova il pareggio su un rigore discutibile: Bennacer anticipa Pedro ma per Giacomelli è calcio di rigore, suscitando le proteste rossonere. Dal dischetto va Veretout e firma il 2-2, trafiggendo Tatarusanu. Al 79' ancora protagonista in negativo Giacomelli che assegna un altro rigore più che dubbio al Milan, con Mancini che calcia ma non tocca Calhanoglu che cade. Per l'arbitro è rigore e, dal dischetto, Ibrahimovic firma il 3-2. Finita? Neanche per sogno perché Kumbulla, sugli sviluppi di un corner, trova il 3-3 a 6' dalla fine. Finisce davvero 3-3, al termine di una partita pazzesca. Il Milan resta primo in classifica a 13 punti, la Roma sale ad 8.