L’Udinese si presenta a San Siro per il turno infrasettimanale contro il Milan e lo fa proponendo come modulo il 3-5-1-1. A centrocampo fiucia a Makengo e Arslan con Molina sulla fascia destra al posto di Larsen che parte dalla panchina. La formazione bianconera vede Musso tra i pali, linea difensiva con Becao, Bonifazi e Nuytinck, a centrocampo Arslan, Makengo e De Paul con sulle corsie esterne Molina e Zeegelaar. In avanti Pereyra e l’unica punta Nestorovski. Risponde il Milan con il 4-2-3-1 con Donnarumma in porta, Kalulu, Kjaer, Romagnoli e Hernandez in difesa, a centrocampo Tonali e Kessie in avanti Castillejo, Diaz, Rebic dietro Leao. Pioli sceglie Kalulu al posto di Calabria con Kjaer e Romagnoli al centro della difesa e Hernandez sulla sinistra. In mediana Tonali e Kessie in cabina di regia, in avanti Brahim Díaz e Leão con sulle corsie esterne Rebic e Castillejo. Nell’Udinese Pereyra e Makengo saranno le mezze ali, De Paul dovrà ispirare la fase offensiva. Inizia la partita a San Siro. Gioco fermo per un infortunio a Kjaer che esce dal terreno di gioco aiutato dai sanitari rossoneri. Il danese riprende il proprio posto al centro della difesa milanista senza grandi conseguenze. Al 9′ sembra ci sia un infortunio per Rodrigo De Paul che si accascia avvertendo dolore alla coscia destra. Gotti fa scaldare Lloriente. Al 11′ corner per il Milan liberato da Becao. I rossoneri cercano di alzare la propria azione guadagnando terreno di gioco. Fallo di De Paul su Hernandez. De Paul sembra stare meglio. Continua l’azione offensiva del Milan ma l’Udinese fa buona guardia per ora. Al 19′ prima conclusione verso la porta friulana di Brahim Diaz che cerca il tiro dalla distanza che non sorprende Musso bravo a bloccare. Al 22′ ci prova Nestorovski dalla media distanza ma non inquadra la porta. Due minuti più tardi primo giallo della gara per Rebic che colpisce Becao. Il croato ha colpito, involontariamente, il volto del brasiliano che è costretto alle cure dei sanitari bianconeri fuori dal campo. Udinese momentaneamente in dieci. È rientrato Becão dopo la breve sosta a bordocampo. Milan che continua a far circolare il pallone, senza però riuscire sin qui a sfondare il muro difensivo eretto con grande organizzazione dall’Udinese. Al 32′ altro giallo stavolta per Hernandez che interviene fallosamente su Molina. Bianconeri che stanno in qualche modo innervosendo gli avversari che faticano a trovare spazi. Al 36′ primo cross di Molina, dopo uno scambio con De Paul, traversone che trova Pereyra, girata dell’argentino che colpisce in pieno Zeegelaar. Udinese che agisce in ripartenza appoggiandosi sulle corsie esterne dove Molina è entrato bene in partita. Makengo lancia per Pereyra che potrebbe conquistare terreno ma viene chiuso bene da Tonali. Al 40′ prima vera occasione per il Milan con Castillejo che, in slalom, fa fuori Nuyintck e Bonifazi e conclude di destro con Musso che si oppone di piede salvando la situazione. Primo vero pericolo per i bianconeri che finora stanno tenendo bene il campo senza soffrire troppo l’iniziativa del Milan. Dopo due minuti di recupero le squadre vanno negli spogliatoi con il risultato fermo sullo 0-0. Buona Udinese, tutto sommato, quella che sta giocando a San Siro contro il Milan. Gli uomini di Gotti hanno concesso veramente poco agli avversari. Due parate di Musso hanno risolto le uniche due occasioni costruite dalla squadra di Pioli. Grande organizzazione difensiva e fisicità per i bianconeri che agiscono in ripartenza avendo a disposizione Pereyra che sta cercando di appoggiare bene la fase offensiva.
Ripresa che inizia.
Al 46′ cambio nel Milan, fuori Tonali e dentro Meité. Al 48′ occasionissima per l’Udinese, retropassaggio lento di Hernandez, interviene Pereyra che supera Donnarumma e mette in mezzo per il colpo di testa di Nestorovski salvato sulla linea da Romagnoli. Che occasione per l’attaccante bianconero. Al 52′ risposta del Milan che impegna severamente due volte Musso, prima con una conclusione di Meitè che l’argentino manda oltre la traversa e poi con un colpo di testa ravvicinato di Kessie che viene parato da Musso con un grande istinto. Al 54′ Zeegelaar finisce sul taccuino dell’arbitro per fallo su Meitè. Spinge il Milan per pervenire al vantaggio ma l’Udinese ha avuto la propria occasione per sbloccare la gara. Al 56′ esce Makengo ed entra Llorente. Gotti mette la seconda punta per giocarsela con più peso offensivo e più fisicità. Minuto tredici della ripresa: si fermano tutti per omaggiare Davide Astori. Al 62′ Becao ferma una volata di Hernandez in angolo. Al 63′ doppio cambio per il Milan, dentro Calabria per Kalulu e Hauge per Brahim Diaz. Al 65′ altra ottima occasione per l’Udinese dopo un altro errore di Hernandez che si fa rubare palla da De Paul in piena area, l’argentino apre troppo il destro e non inquadra la porta. Al 68′ i bianconeri sbloccano il risultato con Becao. Sugli sviluppi di un corner, il brasiliano svetta di testa, Donnarumma è ingannato dal movimento di Nestorovski e liscia incredibilmente il pallone che si insacca alle sue spalle. Milan-Udinese 0-1.
Al 71′ entra Larsen per Zeegelaar. Forza fresca sulla corsia per Gotti che manda in campo il danese. Poi entra anche Walace per Arslan a centrocampo. Al 75′ spiovente di Pereyra a cercare il colpo di testa di Llorente che però commette fallo su Romagnoli. Nel Milan Saelemaekers prende il posto di Castillejo. Al 77′ occasione per i rossoneri con un cross di Calabria che trova Leao nel cuore dell’area di rigore friulana ma il colpo di testa del portoghese finisce fuori. Al 81′ esce Pereyra, stremato e con i crampi, al suo posto entra Samir. Partita di grande generosità per il Tucumano che ha supportato bene la fase offensiva bianconera. Il brasiliano è sfortunato perchè deve lasciare subito il campo appena entrato per un problema che sembra muscolare. Udinese in dieci per aver esaurito gli slot. Stringono i denti i friulani che adesso sono anche in inferiorità numerica e devono fronteggiare il Milan che si spinge in avanti più con i nervi che con l’intelligenza tattica per trovare il pareggio. Doppio tentativo di Calabria, che calcia addosso a due avversari e guadagna un corner, sui cui sviluppi il Milan non riesce ad impensierire Musso. Llorente guadagna un fallo preziosissimo nella metà campo rossonera per fallo di Romagnoli che prende anche il cartellino giallo. Giallo anche per Kessie e reclamo da parte dei bianconeri per fallo di Kjaer su Llorente ma Massa non accorda la massima punizione.Al 95′ conclusione dal limite di Hernandez che non riesce ad inquadrare la porta di Musso. Al 96′ Massa indica il dischetto per il Milan, follia di Larsen che svetta in area con il braccio altissimo e colpisce con la mano il pallone. Kessie va sul dischetto e pareggia per i rossoneri al 97′. Milan-Udinese 1-1.
Finisce il match di San Siro con il Milan che riesce a riequilibrare la gara per un’autentica disattenzione di Stryger Larsen. Veramente un peccato per l’Udinese che avrebbe meritato i tre punti.