Il Milan vince una partita fondamentale contro un Bologna pericoloso e tiene vivo il sogno Champions League portandosi quinto a tre lunghezze dall'Atalanta quarta. Per i felsinei è una sconfitta non gravissima considerando il margine di vantaggio pari a cinque punti dalla zona retrocessione. 

Gennaro Gattuso opta per un 4-3-3 con Donnarumma tra i pali difeso da Abate, Zapata, Musacchio e Rodriguez. Sulla mediana trovano spazio Kessie, Biglia e Paquetà, mentre in attacco Calhanoglu completa il tridente con Piatek e Suso. Modulo speculare anche quello con il quale risponde Sinisa Mihajlovic. Skorupski in porta con la retroguardia formata da Calabresi, Danilo, Lyanco e Dijks. A centrocampo agiscono Pulgar, Poli e Svanberg. Davanti Palacio gioca  da unica punta supportato da Orsolini e Sansone. 

Gara che inizia con ritmi alti e subito occasioni da ambo le parti. Al 7' Sansone prova a sfondare, ma sul suo mancino si immola provvidenzialmente Zapata. Solamente tre giri d'orologio più tardi Calhanoglu calcia da fuori con il destro trovando una grandissima risposta di Skorupski che si rifugia in corner. Il portiere polacco rischia, però, di peggiorare la situazione al 13' quando sbaglia completamente l'uscita sugli sviluppi di un calcio d'angolo, ma per sua fortuna Musacchio non trova la porta. Intorno al quarto d'ora i felsinei salgono in cattedra e si rendono pericolosi più volte. Ci prova prima Orsolini con il mancino, ma Donnarumma para bene, e poi l'estremo difensore di casa disinnesca anche Palacio. Al 26' l'attaccante argentino fugge in campo aperto e trova il vantaggio, ma la rete viene annullata giustamente per fuorigioco. Al 37' arriva sorprendentemente il vantaggio del Milan con Suso che ribadisce in rete l'assist di Jose Mauri lasciando immobile Skorupski. Poco prima dell'intervallo i rossoneri vanno ad un passo dal raddoppio con Piatek, ma si fa ipnotizzare dal portiere avversario. 

Ripresa che comincia con il Bologna in attacco. Pulgar ci prova da fuori con un destro potente, ma Donnarumma devia in angolo. Il Milan cerca di amministrare il vantaggio senza, però riuscire mai a rendersi pericoloso. Al 67' Paquetà calcia trovando i guanti di Skorupski che, però, respinge corto e sulla sfera si avventa Borini che firma il raddoppio. Successivamente ad un lungo controllo VAR a causa di un possibile offside dell'ex Southampton il gol viene convalidato. Poco dopo, al 72', il Bologna non demorde ed accorcia le distanze con Destro che trasforma nel migliore dei modi il suggerimento di Sansone. Al 74' arriva l'episodio che complica la gara della squadra rossonera. Paquetà subisce un brutto fallo da Pulgar e per il nervosismo spinge il cileno. L'arbitro ammonisce l'ex Flamenco che reagisce, però, spingendo anche il direttore di gara che è costretto ad estrarre il rosso. Gli ospiti vanno alla ricerca di un pareggio che in superiorità numerica non sembra poi cos' impossibile. All'88' Palacio ha una bella occasione su uno scarico di Santander. L'ex Inter ci prova con il mancino, ma calcia alto. Al 91' il Bologna cerca la ripartenza con Edera che, arrivato nei pressi del limite dell'area cerca di sorprendere Donnarumma, ma quest'ultimo si distende respingendo bene la conclusione avversaria.