Primo tempo
Nei primi 5 minuti di partita, Maignan carambola su Castellanos in area di rigore, non concesso da Di Bello. Il Milan tiene il possesso del pallone nei primi 10 minuti, la Lazio non si snatura e gioca con una difesa molto alta, con un baricentro praticamente a centrocampo. La pressione dei biancocelesti mettono in difficoltà i rossoneri, che trovano davanti una squadra molto ordinata e ben messa in campo, che riesce a coprire alla grande tutte le linee di passaggio. I laziali tuttavia non cercano di fare la partita, ma vanno più alla ricerca del recupero palla nella metà campo avversaria per poi andare in porta. L’occasione più grande è proprio dei romani, con Vecino che sugli sviluppi di un calcio d’angolo colpisce col ginocchio mandando il pallone a lato da pochi passi da Maignan. I rossoneri negli ultimi 5 minuti del primo tempo riescono a trovare più spazi e a creare qualche occasione da gol, senza però impensierire Provedel.
Secondo tempo, la decide Okafor
Dopo solo 5 minuti di ripresa c’è l’episodio che indirizza la partita in favore dei rossoneri. Castellanos cade a terra dopo un colpo al volto, Pellegrini convinto che i giocatori del Milan si fermino, si disinteressa del pallone che Pulisic aggredisce, il terzino italiano lo stende e prende il secondo giallo. La Lazio in 10 non molla, Sarri toglie Luis Alberto e Castellanos e inserisce, Immobile e Hysaj per provare a rimanere in gioco. I laziali non patiscono l’inferiorità numerica, a tratti vanno addirittura vicini al pareggio. Il Milan non crea grandi pericoli, se non una gran botta di Loftus-Cheek.
Arriva il vantaggio rossonero a metà ripresa che viene però annullato a causa del fuorigioco di Rafa Leao. Pioli cerca la carta vincente e subentrano Okafor, Reijnders e successivamente Thiaw e Tomori. Il gol arriva, a pochi minuti dal novantesimo dopo una doppia respinta di Provedel e un pallone allontanato leziosamente da Felipe Anderson, con Okafor che colpisce da centro area, con il portiere dei biancocelesti che tocca il pallone ma non riesce a evitare il gol. Nel finale di partita succede di tutto, 6 i cartellini estratti da Di Bello nel recupero. Marusic espulso per qualche parola di troppo e Guendouzi espulso per un fallo di reazione su Pulisic.
La Lazio perde altri punti nella rincorsa alla Champions, con il quarto posto che dista momentaneamente 8 punti. Il Milan blinda sempre di più il terzo posto, portandosi a -1 dalla Juventus.