Legia Warszawa - Jagiellonia Białystok (3:1)
W pierwszych minutach starcia obie drużyny skupiły się na ostrożnej grze w defensywie. Po kwadransie odważniej zaatakowała ekipa gości i wydawało się, że od razu skończy się to objęciem prowadzenia. Świetnym podaniem z własnej polowy popisał się były gracz Jagi, Marc Gual, piłkę przechwycił Kacper Chodyna i umieścił ją w siatce. Radość miejscowych kibiców nie trwała jednak długo, gdyż sędzia musiał anulować trafienie ze względu na minimalnego spalonego.
Ta sytuacja podziałała na podopiecznych Adriana Siemieńca motywująco. Mistrzowie Polski także z większym zaangażowaniem ruszyli do ofensywy, a już ich pierwszy celny strzał zakończył się golem. Z prawego skrzydła płaskie dośrodkowanie w pole karne posłał Miki Villar, a Vladana Kovačevicia precyzyjnym strzałem pokonał Jarosław Kubicki.
Kilka chwil później blisko doprowadzenia do wyrównania był Bartosz Kapustka. Pomocnik znajdując się tuż przed polem karnym, zdecydował się na mocny strzał po ziemi, ale piłka trafiła jedynie w słupek.
Na drugą odsłonę starcia bardziej zdeterminowana wyszła drużyna Goncalo Feio. Początkowo świetne okazje zmarnowali Ilya Shkurin i Marc Gual, pierwszy nie sięgnął podania Rubena Vinagre'a, a drugi nie trafił czysto w futbolówkę przy próbie uderzenia. W 53. minucie zawstydził ich jednak 19-letni Jan Ziółkowski, który efektownym strzałem głową przywrócił równowagę. Po chwili okazję znów zyskał Shkurin, ale Białorusin ponownie miał problem z opanowaniem piłki.

Kwadrans przed końcem regulaminowego czasu gry po błędnym przyjęciu, a następnie starciu z Pawłem Wszołkiem w polu karnym upadł Oskar Pietuszewski, a sędzia podyktował jedenastkę. Analiza tej sytuacji przez VAR trwała dość długo, ostatecznie do monitora podszedł sam arbiter i odwołał swoją decyzję.
Serca fanów Wojskowych pozbyły się zatem sporego kamienia, a po chwili uniosły ogromną radością. Była 85. minuta, kiedy Kapustka po efektownym rajdzie prawą stroną skierował piłkę w pole karne. Tam dopadł do niej Ryoya Morishita, który najpierw zwiódł defensorów, a następnie mocnym strzałem umieścił ją w siatce. Japończyk dzięki bramce nabrał skrzydeł, a w samej końcówce jeszcze efektowniej "zatańczył" z obrońcami Jagiellonii i podwyższył prowadzenie na 3:1, sprawiając, że Legia została trzecim półfinalistą Pucharu Polski.
Pogoń Szczecin - Piast Gliwice (2:0)
Pierwszy fragment meczu rozgrywanego w Szczecinie to nieznaczna przewaga gospodarzy, z której jednak niewiele wynikało. Tradycyjnie największe zagrożenie stwarzał szalejący na lewym skrzydle Kamil Grosicki, jednak jemu i kolegom brakowało pomysłu przy wykończeniu akcji. Po drugiej stronie boiska celną główką po dośrodkowaniu Patryka Dziczka popisał się Jakub Czerwiński, ale Valentin Cojocaru wspaniałą interwencją uratował swój zespół przed stratą gola.
Ta sytuacja uskrzydliła podopiecznych Aleksandara Vukovicia, którzy jeszcze śmielej ruszyli pod bramkę Portowców. Goście rzadziej utrzymywali się przy piłce, tworząc przy tym więcej dogodnych okazji, jednak ich także zawodziła skuteczność. Z drugiej strony to rywale oddali ostatni celny strzał w pierwszej połowie, ale Efthymios Koulouris przegrał pojedynek z Karolem Szymańskim.
Obu drużynom zależało oczywiście na awansie, ale ich determinacja często przeradzała się w nadmierną agresję. Jeszcze przed przerwą padło aż 14 fauli, a sędzia Wojciech Myć pokazał dwie żółte kartki. Podobnie było po zmianie stron, kiedy arbiter musiał rozdzielać piłkarzy i dać ostrzeżenie Cojocaru oraz Marcinowi Rosołkowi.
Rumuński bramkarz wciąż zachowywał pełną koncentrację, broniąc m.in. mocny strzał Grzegorza Tomasiewicza czy Michała Chrapka. Na kolejną indywidualną akcję zdecydował się Grosicki, ale golkiper Piasta także był na posterunku. W końcówce dwie doskonałe okazje po dwóch świetnych podaniach Dziczka zmarnował Erik Jirka, uderzając zdecydowanie zbyt słabo. Regulaminowy czas gry nie przyniósł rozstrzygnięcia, dlatego do wyłonienia zwycięzcy potrzebna była dogrywka.

W jej pierwszej odsłonie działo się niewiele, ale druga zapewniła miejscowym kibicom mnóstwo radości. W 106. minucie spotkania wrzutkę w szesnastkę gości posłał Linus Wahlqvist. Wydawało się, że futbolówka minie wszystkich jego kolegów, ale wtem fantastyczny strzał "skorpionem" oddał Koulouris, myląc kryjącego go obrońcę i samego bramkarza. Piast ruszył do odrabiania strat, ale w samej końcówce gości pogrążył Grosicki, strzelając równie pięknego gola strzałem o poprzeczkę i pieczętując awans Pogoni do półfinału rozgrywek.