Milan był bardzo aktywny od pierwszych minut spotkania. Piłkarze Stefano Piolego szybko dochodzili do okazji strzeleckich. Szansę na zdobycia bramki miał Krzysztof Piątek, jednak nie trafił czysto w piłkę, będąc tuż przed bramką Sirigu. Już w 12. minucie Milan prowadził. Castillejo przejął piłkę w środku pola, zagrał na skrzydło do Rebicia, a ten wyłożył piłkę do pustej bramki Bonaventurze. Torino zdołało wyrównać jeszcze przed przerwą. W 34. minucie doskonałe podanie za plecy obrońców otrzymał Bremer, poczekał na ruch Donnarummy, po czym płaskim strzałem pokonał bramkarza "Rossonerich".
Po przerwie tempo spotkania spadło. Świetną okazję na zdobycie bramki zmarnował Krunić. Kilka minut później piłkarze Torino powinni wyjść na prowadzenie. Fatalny błąd popełnił Donnarumma, który nie trafił w piłkę przy próbie piąstkowania. W polu karnym powstało ogromne zamieszanie, jednak goście nie zdołali skierować piłki do bramki. W 65. minucie Krzysztof Piątek opuścił boisko, a w jego miejsce wszedł Zlatan Ibrahimović, który miał poprawić grę Milanu w ofensywie. Tym samym mógł to być już ostatni mecz Polaka na San Siro.
Niedługo później, bo już w 71. minucie, Milan stracił jednak gola. Aina minął rywala na skrzydle, dośrodkował idealnie na głowę Bremera, który strzałem głową pokonał bramkarza "Rossonerich". Piłkarze Stefano Piolego próbowali odrobić straty, jednak ich próby były bardzo niecelne. Zdołali wyrównać w 91. minucie, gdy Calhanoglu pokonał Sirigu strzałem sprzed pola karnego.
W dogrywce Milan miał znakomitą okazję. Leao zagrał w pole karne, Ibrahimović przepuścił piłkę do Calhanoglu, jednak jego strzał obronił Sirigu. Chwilę później dwukrotnie ratować "Rossonerich" musiał Donnarumma. Wszystko zmieniło się po przerwie. W 106. minucie Calhanoglu uderzył z narożnika pola karnego, piłka musnęła dłoń Sirigu, ale wpadła tuż przy słupku. Dwie minuty później Ibrahimović wykorzystał podanie Leao, podwyższając prowadzenie i zapewniając Milanowi zwycięstwo.
Milan awansował tym samym do półfinału Pucharu Włoch, w którym zmierzy się z Juventusem. W drugiej parze Napoli zmierzy się ze zwycięzcą meczu Interu z Fiorentiną, który odbędzie się w środę.