W pierwszym meczu obu drużyn Porto niespodziewanie wygrało 1:0. W Portugalii przez bardzo długi czas utrzymywał się bezbramkowy remis. Kiedy wydawało się, że spotkanie zakończy się wynikiem 0:0, w doliczonym czasie gry gola strzelił Galeno, po podaniu Otavio. To postawiło Arsenal w trudnej sytuacji przed rewanżem. Dlatego też dzisiejszego wieczoru "Kanonierzy" z Jakubem Kiwiorem w wyjściowym składem od razu starali się narzucić własne warunki gry. Arsenal długo bił głową o ścianę. Dopiero pod koniec połowy odrobił straty Pierwsze 10 minut przebiegło bez większego zagrożenia. Pierwszą dobrą sytuacją Arsenal miał w 12. minucie, gdy Saka przeprowadził dynamiczną akcję prawym skrzydłem. Zszedł wówczas do środka i uderzył na bramkę, jednak wprost w Diogo Costę, który i tak miał spore problemy z interwencją. Chwilę później "Kanonierzy" mieli rzut rożny, po którym strzał oddał Martin Odegaard, jednak piłka przeleciała obok prawego słupka. Dosyć aktywny na lewym skrzydle był Jakub Kiwior, który podłączał się do akcji ofensywnych. W 22. minucie bardzo konkretną odpowiedź na akcje Arsenalu wystosowali gracze Porto. Mocnego uderzenia z około 17. metrów spróbował Evanilson, ale dobrze interweniował David Raya, który dał radę sparować ten strzał do boku. W kolejnych minutach tempo gry trochę spadło i choć "Kanonierzy" przebywali pod bramką gości, to długo z tego niewiele wynikało. Tak było aż do 41 minuty. Po złym wybiciu Wnedella piłkę przechwycił Odegaard i przeprowadził fantastyczną dwójkową akcję z Leandro Trossardem, którym płaskim strzałem pokonał Costę. Do przerwy wynik nie uległ już zmianie i Arsenal schodził do szatni z wyrównanym stanem rywalizacji w dwumeczu. 120 minut nie wystarczyło. Arsenal w ćwierćfinale Ligi Mistrzów po rzutach karnych! Obie ekipy rozpoczęły drugą połowę bez zmian. Już w 49. minucie efektowny strzał przewrotką oddał Evanilson, ale był jednak daleki od celu. W kolejnych minutach było mało konkretów, a więcej fauli i chaotycznej gry. Dopiero w 67. minucie Arsenal był bliski podwyższenia prowadzenia. Dobrze na pozycję wychodził Kai Havertz, który musiał walczyć o piłkę z Pepe. Z bramki też wyszedł Costa i po zamieszaniu futbolówka trafiła pod nogi Odegaarda, który trafił do siatki. Sędziowie dostrzegli jednak, że Havertz pociągał za koszulkę Pepe i uniemożliwił mu skuteczną interwencję, w związku z czym gol nie został uznany. Chwilę po wejściu w 82. minucie znakomitą szansę na gola miał Gabriel Jesus. Piłka znalazła go w polu karnym, ale znakomicie interweniował Costa. Ledwie dwie minuty później po strzale Sakii świetną okazję miał Odegaard, ale nieczysto trafił w piłkę i ta znów nie przeleciała obok słupka. Przez ostatnie minuty Arsenal bardzo mocno naciskał na gości i narzucał wysokie tempo. Ostatecznie żadna z drużyn nie odnalazła drogi do bramki i do wyłonienia zwycięzcy dwumeczu konieczna była dogrywka. W 101. minucie dogrywki to Porto mogło wyjść na prowadzenie. Wszystko zaczęło się od straty Kiwiora, który zamiast wybijać, niepotrzebnie przyjmował piłkę. Przed szansą stanął Mehdi Taremi, który szukał prawego okienka bramki Arsenalu, lecz posłał piłkę obok. Po pierwszej połowie dogrywki wynik wciąż wskazywał jednobramkowe prowadzenie "Kanonierów". Mikael Artera zadecydował, że w 106 minucie meczu Jakub Kiwior opuści boisko. Jego miejsce zajął Ołeksandr Zinczenko. Arsenal dalej intensywnie atakował, a Porto czekało na swoje szanse w kontratakach. Ostatecznie druga część dogrywki nie przyniosła rozstrzygnięcia. W serii "jedenastek" Wendell trafił w słupek, a strzał Galeno obronił David Raya, co przesądziło o wygranej 4:2 Arsenalu i awansie lodyńczyków.