Vittoria all'andata, vittoria al ritorno. La Roma regala ancora lacrime al Milan imponendosi all'Olimpico per 2-1 nonostante l'inferiorità numerica con cui ha dovuto fare i conti per l'intera ripresa per l'espulsione di Celik. Mancini e compagni volano così in semifinale. Il Milan ferma quindi la sua corsa verso l'alloro europeo. Si parte dalla vittoria della Roma per 1-0 all'andata per merito del gol di Mancini. Al 12′ è proprio lui a portare avanti i giallorossi riprendendo la sfera dopo una respinta del palo su precedente tiro di Pellegrini e infilando Maignan. La reazione del Milan non si fa attendere ma il tiro dal limite di Theo Hernandez al 15′ termina oltre la traversa. Al 20′ sui rossoneri si abbatte anche la cattiva sorte sottoforma di una traversa colpita da Loftus – Cheek su assist teso di Musah.
Dal possibile pareggio del Milan si arriva, al 22′, al raddoppio che fa pregustare ai giallorossi la vicinanza alla qualificazione alle semifinali: Lukaku ha la meglio su Gabbia che però alla fine riesce a liberare, la sfera arriva a Dybala che infila Maignan nell'angolino dove non ci può arrivare. Al 28′ la Roma perde Lukaku in preda a problemi muscolari, Daniele De Rossi inserisce al suo posto Abraham. Al 31′ i giallorossi restano in dieci per l'espulsione con rosso diretto di Celik, reo di avere commesso un brutto fallo su Emerson Leao da tergo. Al 41′ il Milan chiede un rigore per un possibile tocco di mano di Smalling in area giallorossa, al controllo del Var, però, il direttore di gara, Szymon Marciniak, non concede il penalty ai rossoneri. Al 47′ il Milan prova a rientrare in partita con Pulisic ma il tiro termina alto. Il primo tempo si conclude così con una Roma in vantaggio con merito che deve però disputare l'intera ripresa in inferiorità numerica. Milan vivo solo a sprazzi ma anche sfortunato con la traversa di Loftus- Cheek.
A inizio ripresa il Milan prova a rendersi pericoloso al 4′ con Jovic il cui tiro è però bloccato da Llorente. Al 6′ ci prova Pulisic dal limite ma conclude sopra la traversa. Milan molto aggressivo in avvio della seconda frazione per cercare di riaprire il discorso qualificazione. Al 13′ la Roma va vicina al 3-0, El Shaarawy serve Spinazzola che però si fa respingere il tiro da Maignan. Al 17′ il Milan risponde con una conclusione alta di Musah. Lo stesso esito ha, su fronte opposto, un tiro di Abraham su passaggio di El Shaarawy. La partita è molto animata con la Roma intenta a controllare il vantaggio e il Milan desideroso di riaprire i giochi. Al 40′ il Milan ci prova con Reijnders ma il suo tiro dal limite è deviato in corner da Svilar. E' il preludio del gol rossonero che giunge subito dopo con Gabbia, bravo a raccogliere un invito di Leao e a infilare Svilar con un colpo di testa. Al 44′, per poco, Chukwueze non pareggia ma Svilar sventa in qualche modo. Al 48′, il Milan perderebbe Theo Hernandez per rosso diretto ma il direttore di gara, dopo consulto con il Var, cambia decisione e lo commuta in semplice giallo. E' l'ultimo atto della gara, la Roma entra tra le prime quattro squadre dell'Europa League guadagnandosi la semifinale.