Najveća se borba za osminu finala Lige prvaka odvijala u skupini B gdje je na kraju uz Liverpool prolaz dalje osigurao madridski Atletico.
U posljednjem 6. kolu Milan je na svom San Siru dočekao Liverpool te je izgubio 1:2. Gostujući trener Klopp je uoči ove utakmice napravio velike promjene, pogotovo u obrambenom dijelu svog sastava, ali je Liverpool unatoč tome ostvario novu, šestu pobjedu u skupini, iako je već odavno osigurao prolaz i prvo mjesto.
Milan je poveo golom Tomorija u 29. minuti i s obzirom na tadašnjih 0:0 Porta i Atletica talijanska momčad je bila u osmini finala Lige prvaka. No, kratko je trajala ta domaća sreća jer je Salah izjednačio u 36. minuti. Liverpool je potpuno dominirao na San Siru, a bolja igra naplaćena je u 55. minuti kada je Origi zabio za konačnih 2:1.
Tako je međusobni ogled Porta i madridskog Atletica na Dragao stadionu odlučio o drugom putniku ove sezone za osminu finala. I bio je to Atletico koji je na samom startu ovog gostovanja bio osuđen igrati bez Luisa Suareza koji je izašao zbog ozljede. U prvih sat vremena igre dosta bolji je bio Porto, no u 56. minuti su poveli gosti kada je snalažljiv pred suparničkim vratima bio Griezmann.
Nakon tog pogotka potpuno se rasplamsala igra, a počeli su frcati i crveni karton te je Porto zaradio dva isključenja, a Madriđani jedno. Na kraju je Atletico zabio nova dva gola za potvrdu slavlja i prolaza (Correa i De Paul), dok je Porto na samom kraju tek smanjio na konačnih 1:3.
Cijelu je utakmicu za goste odigrao hrvatski nogometaš Šime Vrsaljko, a Portu ostaje mala utjeha u igranju Europske lige.
U skupini D tek su se u međusobnom dvoboju u Madridu Real i Inter borili za prvo mjesto na ljestvici. Talijanskom prvaku je trebala pobjeda za skok na tron, no već od 17. minute Inter je bio u minusu. Sjajno je, tada, s petnaestak metara suparničku mrežu naciljao Toni Kroos. Bio je to, ujedno, tisućiti pogodak Reala u povijesti Kupa prvaka / Lige prvaka.
Kao i u prvom međusobnom susretu na San Siru, Inter nije igrao loše i imao je brojne prilike, ali su sve ostale neiskorištene. Potom je u 64. minuti pocrvenio gostujući igrač Barrella, a konačnih 2:0 postavio je Marco Asensio u 79. minuti. Inače, Real je u ovom ogledu kapetanski vodio hrvatski reprezentativac Luka Modrić koji je upisao veliki jubilej, stotu utakmicu u karijeri u Ligi prvaka. Time je postao prvi Hrvat u povijesti s takvim dosegom. Modrić je odigrao svih 90 minuta. U redovima Intera cijelu je utakmicu odigrao Ivan Perišić, dok je nakon sat vremena igru napustio Marcelo Brozović. U drugom susretu ove skupine Šahtar je bio sasvim blizu prve pobjede u sezoni, ali je primio gol od Nikolova u 93. minuti te je remizirao kao domaćin protiv Sheriffa 1:1. Bez obzira na rezultat ove utakmice Šerif je bio siguran treći, a Šahtar posljednji. U skupini C je također sve bilo jasno i prije zadnjeg kola. Ajax, kao prvi te Sporting, kao drugi, nastavljaju sezonu u Ligi prvaka, dok će dortmundska Borussia kao treća igrati Europsku ligu.
Ajax je u Amsterdamu pobijedio Sporting 4:2 i tako došao do savršenih šest pobjeda u skupini. Prvi pogodak na utakmici postigao je Sebastien Haller, napadač Ajaxa, čime je došao do brojke od deset golova ove sezone. Prvi je strijelac Lige prvaka (devet ih ima Lewandowski), a ujedno je Haller nogometaš koji je najbrže došao do brojke od 10 golova u ovom natjecanju (unutar jedne sezone) u povijesti. Također, ponovio je doseg Cristiana Ronalda iz sezone 2017./18. te je i on sam zabio barem gol u svakoj od šest utakmica grupne faze. Borussia je svladala Bešiktaš u Dortmundu 5:0 uz po dva gola Reusa i Haalanda (te jedan Malena). Borussiji ostaje tek igranje u Europskoj ligi u nastavku sezone, a od 73. minute za Borussiju je igrao hrvatski nogometaš Marin Pongračić. Kod gostiju je na klupi kroz cijelu utakmicu ostao Domagoj Vida.