I risultati e le qualificate
In Grassetto le qualificate agli ottavi di finale di Champions League in corsivo le squadre in Europa League e le ultime dei gironi eliminate.
GIRONE A
- Lipsia-Manchester City 2-1 – 24′ Szoboszlai (L), 71′ André Silva (L), 76′ Mahrez (M)
- PSG-Club Brugge 4-1 – 2′ Mbappé (P), 7′ Mbappé (P), 38′ Messi (P), 68′ Rits (B), 76′ Messi rig. (P)
Classifica: Man City 12, PSG 11, Lipsia 7, Club Brugge 4.
GIRONE B
- Porto-Atletico Madrid 1-3 – 56′ Griezmann (A), 90′ Correa (A), 90+3′ De Paul (A), 90+5′ Oliveira rig. (P)
- Milan-Liverpool 1-2 – 28′ Tomori (M), 36′ Salah (L), 55′ Origi (L)
Classifica: Liverpool 16, Atletico Madrid 7, Porto 5, Milan 4.
GIRONE C
- Ajax-Sporting 4-2 – 8′ Haller rig. (A), 22′ Santos (S), 42′ Antony (A), 58′ Neres (A), 62′ Berghuis (A), 78′ Tabata (S)
- Borussia Dortmund-Besiktas 5-0 – 29′ Malen, 45+2′ Reus rig., 53′ Reus, 68′ Haaland, 81′ Haaland
Classifica: Ajax 18, Sporting 9, Dortmund 9, Besiktas 0.
GIRONE D
- Real Madrid-Inter 2-0 – 17′ Kroos, 79′ Asensio
- Shakhtar Donetsk-Sheriff Tiraspol 1-1 – 42′ Fernando (D), 90′ Nikolov
Classifica: Real Madrid 15, Inter 10, Sheriff 7, Shakhtar 2.