# Liga dos Campeões da UEFA de 2016–17 – Fase de Grupos

A Fase de Grupos da Liga dos Campeões da UEFA de 2016–17 foi disputada entre 13 de setembro até 7 de dezembro de 2016. Um total de 32 equipes participaram desta fase. Os vencedores e segundos colocados de cada grupo avançaram a fase final.

## Sorteio

O sorteio para a fase de grupos foi realizado em Mônaco no dia 25 de agosto de 2016.
A fase de grupos contou com 32 times distribuídos em 8 grupos de 4 times cada. Os times se enfrentaram em partidas de ida e volta dentro dos seus grupos e os dois primeiros se classificaram para a fase oitavas de final. O terceiro colocado classificou-se para a fase de dezesseis avos da Liga Europa da UEFA de 2016–17. As 32 equipes foram divididas em quatro potes com base no Ranking da UEFA, com o detentor do título sendo colocado no pote 1 automaticamente.
Em cada grupo, as equipes jogaram entre si em duelos em casa e fora. As partidas foram disputadas nos dias: 13–14 de setembro, 27–28 de setembro, 18–19 de outubro, 1–2 de novembro, 22–23 de novembro, e 6–7 de dezembro de 2016.
| Pote 1 | Coef. |
| Real Madrid | 176.142 |
| Bayern de Munique | 163.035 |
| Barcelona | 159.142 |
| Benfica | 116.616 |
| Paris Saint-Germain | 112.549 |
| Juventus | 107.087 |
| CSKA Moscou | 48.716 |
| Leicester | 15.256 |
| Pote 2 | Coef. |
| Atlético de Madrid | 144.142 |
| Borussia Dortmund | 110.035 |
| Arsenal | 105.256 |
| Manchester City | 99.256 |
| Sevilla | 95.642 |
| Porto | 92.616 |
| Napoli | 90.087 |
| Bayer Leverkusen | 89.035 |
| Pote 3 | Coef. |
| Basel | 87.755 |
| Tottenham | 74.256 |
| Dínamo de Kiev | 65.976 |
| Lyon | 63.049 |
| PSV Eindhoven | 57.112 |
| Sporting | 51.616 |
| Brugge | 43.000 |
| Borussia Mönchengladbach | 42.035 |
| Pote 4 | Coef. |
| Celtic | 40.460 |
| Monaco | 36.549 |
| Beşiktaş | 34.920 |
| Légia Varsóvia | 28.000 |
| Dínamo Zagreb | 25.775 |
| Ludogorets Razgrad | 25.625 |
| København | 24.720 |
| Rostov | 11.716 |

## Critérios de desempate

Se duas ou mais equipes terminarem iguais em pontos no final dos jogos do grupo, os seguintes critérios serão aplicados para determinar o ranking (em ordem decrescente):
* maior número de pontos obtidos nos jogos entre as equipes em questão;
* saldo de gols superior dos jogos disputados entre as equipes em questão;
* maior número de gols marcados nos jogos disputados entre as equipes em questão;
* maior número de gols marcados fora de casa nos jogos disputados entre as equipes em questão;
* se, após a aplicação dos critérios de 1) a 4) para várias equipes, duas equipes ainda têm um ranking igual, os critérios de 1) a 4) serão reaplicados para determinar o ranking destas equipes;
* saldo de gols de todos os jogos disputados no grupo;
* maior número de gols marcados em todos os jogos disputados no grupo;
* maior número de pontos acumulados pelo clube em questão, bem como a sua associação, ao longo das últimas cinco temporadas.

## Grupos

Os vencedores e os segundos classificados do grupo avançam para as oitavas de final, enquanto os terceiros colocados entram na Liga Europa da UEFA de 2016–17. Todas as partidas seguem o fuso horário da Europa Central (UTC+1).
* Legenda
* Classificado às oitavas-de-final
* Classificado à fase de dezesseis-avos de final da Liga Europa da UEFA de 2016–17
* Eliminado

### Grupo A

| Pos | Equipe | Pts | J | V | E | D | GP | GC | SG | Classificado | ARS | PAR | LUD | BSL |
| 1 | Arsenal | 14 | 6 | 4 | 2 | 0 | 18 | 6 | +12 | Classificado às oitavas de final | — | 2–2 | 6–0 | 2–0 |
| 2 | Paris Saint-Germain | 12 | 6 | 3 | 3 | 0 | 13 | 7 | +6 | Classificado às oitavas de final | 1–1 | — | 2–2 | 3–0 |
| 3 | Ludogorets Razgrad | 3 | 6 | 0 | 3 | 3 | 6 | 15 | −9 | Transferido para Liga Europa | 2–3 | 1–3 | — | 0–0 |
| 4 | Basel | 2 | 6 | 0 | 2 | 4 | 3 | 12 | −9 | Eliminado | 1–4 | 1–2 | 1–1 | — |
| 13 de setembro de 2016 | Paris Saint-Germain | 1 – 1 | Arsenal | Parc des Princes, Paris |
| 20:45 | Cavani 1' | Relatório | Sánchez 78' | Público: 46 440 Árbitro: HUN Viktor Kassai |
| PSG | Arsenal |
| 13 de setembro de 2016 | Basel | 1 – 1 | Ludogorets Razgrad | St. Jakob-Park, Basileia |
| 20:45 | Steffen 79' | Relatório | Jonathan Cafu 45' | Público: 30 852 Árbitro: BLR Aleksei Kulbakov |
| Basel | Ludogorets |
| 28 de setembro de 2016 | Ludogorets Razgrad | 1 – 3 | Paris Saint-Germain | Estádio Nacional Vasil Levski, Sófia |
| 20:45 | Natanael 16' | Relatório | Matuidi 41' Cavani 56', 60' | Público: 17 155 Árbitro: CZE Pavel Královec |
| Ludogorets | PSG |
| 28 de setembro de 2016 | Arsenal | 2 – 0 | Basel | Emirates Stadium, Londres |
| 20:45 | Walcott 7', 26' | Relatório | | Público: 59,993 Árbitro: NED Danny Makkelie |
| Arsenal | Basel |
| 19 de outubro de 2016 | Arsenal | 6 – 0 | Ludogorets Razgrad | Emirates Stadium, Londres |
| 20:45 | Sánchez 13' Walcott 42' Oxlade-Chamberlain 47' Özil 56', 83', 87' | Relatório | | Público: 59 944 Árbitro: POR Artur Soares Dias |
| Arsenal | Ludogorets |
| 19 de outubro de 2016 | Paris Saint-Germain | 3 – 0 | Basel | Estádio Parc des Princes, Paris |
| 20:45 | Di María 40' Lucas 62' Cavani 90+3' (pen) | Relatório | | Público: 46 488 Árbitro: GER Deniz Aytekin |
| PSG | Basel |
| 1 de novembro de 2016 | Ludogorets Razgrad | 2 – 3 | Arsenal | Estádio Nacional Vasil Levski, Sófia |
| 20:45 | Jonathan Cafu 12' Keșerü 15' | Relatório | Xhaka 20' Giroud 42' Özil 88' | Público: 30 862 Árbitro: NED Bas Nijhuis |
| Ludogorets | Arsenal |
| 1 de novembro de 2016 | Basel | 1 – 2 | Paris Saint-Germain | St. Jakob-Park, Basileia |
| 20:45 | Zuffi 76' | Relatório | Matuidi 43' Meunier 90' | Público: 34 639 Árbitro: ROU Ovidiu Hațegan |
| Basel | PSG |
| 23 de novembro de 2016 | Arsenal | 2 – 2 | Paris Saint-Germain | Emirates Stadium, Londres |
| 20:45 | Giroud 45+1' (pen) Verratti 60' | Relatório | Cavani 18' Iwobi 77' | Público: 59 628 Árbitro: GER Felix Brych |
| Arsenal | PSG |
| 23 de novembro de 2016 | Ludogorets Razgrad | 0 – 0 | Basel | Estádio Nacional Vasil Levski, Sófia |
| 20:45 | | Relatório | | Público: 20 821 Árbitro: ENG Martin Atkinson |
| Ludogorets | Basel |
| 6 de dezembro de 2016 | Paris Saint-Germain | 2 – 2 | Ludogorets Razgrad | Estádio Parc des Princes, Paris |
| 20:45 | Cavani 61' Di María 90+2' | Relatório | Misidjan 15' Wanderson 69' | Público: 42 650 Árbitro: GRE Tasos Sidiropoulos |
| PSG | Ludogorets |
| 6 de dezembro de 2016 | Basel | 1 – 4 | Arsenal | St. Jakob-Park, Basileia |
| 20:45 | Doumbia 78' | Relatório | Lucas Pérez 8', 16', 47' Iwobi 53' | Público: 36 000 Árbitro: POR Manuel de Sousa |
| Basel | Arsenal |

### Grupo B

| Pos | Equipe | Pts | J | V | E | D | GP | GC | SG | Classificado | NAP | BEN | BES | DKV |
| 1 | Napoli | 11 | 6 | 3 | 2 | 1 | 11 | 8 | +3 | Classificado às oitavas de final | — | 4–2 | 2–3 | 0–0 |
| 2 | Benfica | 8 | 6 | 2 | 2 | 2 | 10 | 10 | 0 | Classificado às oitavas de final | 1–2 | — | 1–1 | 1–0 |
| 3 | Beşiktaş | 7 | 6 | 1 | 4 | 1 | 9 | 14 | −5 | Transferido para Liga Europa | 1–1 | 3–3 | — | 1–1 |
| 4 | Dínamo de Kiev | 5 | 6 | 1 | 2 | 3 | 8 | 6 | +2 | Eliminado | 1–2 | 0–2 | 6–0 | — |
| 13 de setembro de 2016 | Benfica | 1 – 1 | Beşiktaş | Estádio da Luz, Lisboa |
| 20:45 | Cervi 12' | Relatório | Talisca 90+3' | Público: 42 126 Árbitro: SRB Milorad Mažić |
| Benfica | Besiktas |
| 13 de setembro de 2016 | Dínamo de Kiev | 1 – 2 | Napoli | Estádio Olímpico, Kiev |
| 20:45 | Harmash 26' | Relatório | Milik 36', 45+2' | Público: 35 137 Árbitro: SCO William Collum |
| Dínamo | Napoli |
| 28 de setembro de 2016 | Beşiktaş | 1 – 1 | Dínamo de Kiev | Vodafone Arena, Istambul |
| 20:45 | Quaresma 29' | Relatório | Tsyhankov 65' | Público: 33 938 Árbitro: GER Felix Zwayer |
| Besiktas | Dínamo |
| 28 de setembro de 2016 | Napoli | 4 – 2 | Benfica | Estádio San Paolo, Nápoles |
| 20:45 | Hamšík 20' Mertens 51', 58' Milik 54' (pen) | Relatório | Gonçalo Guedes 70' Salvio 86' | Público: 41 281 Árbitro: GER Felix Brych |
| Napoli | Benfica |
| 19 de outubro de 2016 | Napoli | 2 – 3 | Beşiktaş | Estádio San Paolo, Nápoles |
| 20:45 | Mertens 30' Gabbiadini 69' (pen) | Relatório | Adriano 12' Aboubakar 38', 86' | Público: 28 502 Árbitro: RUS Sergei Karasev |
| Napoli | Besiktas |
| 19 de outubro de 2016 | Dínamo de Kiev | 0 – 2 | Benfica | Estádio Olímpico, Kiev |
| 20:45 | | Relatório | Salvio 9' (pen) Cervi 55' | Público: 25 991 Árbitro: ESP David Fernández Borbalán |
| Dínamo | Benfica |
| 1 de novembro de 2016 | Beşiktaş | 1 – 1 | Napoli | Vodafone Arena, Istambul |
| 18:45 | Quaresma 79' (pen) | Relatório | Hamšík 82' | Público: 35 552 Árbitro: ENG Mark Clattenburg |
| Besiktas | Napoli |
| 1 de novembro de 2016 | Benfica | 1 – 0 | Dínamo de Kiev | Estádio da Luz, Lisboa |
| 20:45 | Salvio 45+2' (pen) | Relatório | | Público: 51 641 Árbitro: FRA Clément Turpin |
| Benfica | Dínamo |
| 23 de novembro de 2016 | Beşiktaş | 3 – 3 | Benfica | Vodafone Arena, Istambul |
| 18:45 | Tosun 58' Quaresma 83' (pen) Aboubakar 89' | Relatório | Gonçalo Guedes 10' Semedo 25' Fejsa 31' | Público: 36 063 Árbitro: SVN Damir Skomina |
| Besiktas | Benfica |
| 23 de novembro de 2016 | Napoli | 0 – 0 | Dínamo de Kiev | Estádio San Paolo, Nápoles |
| 20:45 | | Relatório | | Público: 33 736 Árbitro: ROU Ovidiu Hațegan |
| Napoli | Dínamo |
| 6 de dezembro de 2016 | Dínamo de Kiev | 6 – 0 | Beşiktaş | Estádio Olímpico, Kiev |
| 20:45 | Besyedin 9' Yarmolenko 30' (pen) Buyalskyi 32' González 45+3' Sydorchuk 60' Júnior Moraes 77' | Relatório | | Público: 14 036 Árbitro: SCO Craig Thomson |
| Dínamo | Besiktas |
| 6 de dezembro de 2016 | Benfica | 1 – 2 | Napoli | Estádio da Luz, Lisboa |
| 20:45 | Jiménez 87' | Relatório | Callejón 60' Mertens 79' | Público: 55 634 Árbitro: ESP Antonio Mateu Lahoz |
| Benfica | Napoli |

### Grupo C

| Pos | Equipe | Pts | J | V | E | D | GP | GC | SG | Classificado | BAR | MC | MGB | CEL |
| 1 | Barcelona | 15 | 6 | 5 | 0 | 1 | 20 | 4 | +16 | Classificado às oitavas de final | — | 4–0 | 4–0 | 7–0 |
| 2 | Manchester City | 9 | 6 | 2 | 3 | 1 | 12 | 10 | +2 | Classificado às oitavas de final | 3–1 | — | 4–0 | 1–1 |
| 3 | Borussia Mönchengladbach | 5 | 6 | 1 | 2 | 3 | 5 | 12 | −7 | Transferido para Liga Europa | 1–2 | 1–1 | — | 1–1 |
| 4 | Celtic | 3 | 6 | 0 | 3 | 3 | 5 | 16 | −11 | Eliminado | 0–2 | 3–3 | 0–2 | — |
| 13 de setembro de 2016 | Barcelona | 7 – 0 | Celtic | Camp Nou, Barcelona |
| 20:45 | Messi 3', 27', 60' Neymar 50' Iniesta 59' Suárez 75', 88' | Relatório | | Público: 73 290 Árbitro: ROU Ovidiu Hațegan |
| Barcelona | Celtic |
| 14 de setembro de 2016 | Manchester City | 4 – 0 | Borussia Mönchengladbach | City of Manchester Stadium, Manchester |
| 20:45 | Agüero 9', 29' (pen), 77' Iheanacho 90+1' | Relatório | | Público: 30 270 Árbitro: NED Björn Kuipers |
| Man. City | Borussia M. |
| 28 de setembro de 2016 | Borussia Mönchengladbach | 1 – 2 | Barcelona | Borussia-Park, Mönchengladbach |
| 20:45 | Hazard 34' | Relatório | Turan 65' Piqué 74' | Público: 46 283 Árbitro: SVN Damir Skomina |
| Borussia M. | Barcelona |
| 28 de setembro de 2016 | Celtic | 3 – 3 | Manchester City | Celtic Park, Glasgow |
| 20:45 | Dembélé 3', 47' Sterling 20' | Relatório | Fernandinho 12' Sterling 28' Nolito 55' | Público: 57 592 Árbitro: ITA Nicola Rizzoli |
| Celtic | Man. City |
| 19 de outubro de 2016 | Celtic | 0 – 2 | Borussia Mönchengladbach | Celtic Park, Glasgow |
| 20:45 | | Relatório | Stindl 57' Hahn 77' | Público: 57 814 Árbitro: GRE Tasos Sidiropoulos |
| Celtic | Borussia M. |
| 19 de outubro de 2016 | Barcelona | 4 – 0 | Manchester City | Camp Nou, Barcelona |
| 20:45 | Messi 17', 61', 69' Neymar 89' | Relatório | | Público: 96 290 Árbitro: SRB Milorad Mažić |
| Barcelona | Man. City |
| 1 de novembro de 2016 | Borussia Mönchengladbach | 1 – 1 | Celtic | Borussia-Park, Mönchengladbach |
| 20:45 | Stindl 32' | Relatório | Dembélé 76' (pen) | Público: 46 283 Árbitro: POR Manuel de Sousa |
| Borussia M. | Celtic |
| 1 de novembro de 2016 | Manchester City | 3 – 1 | Barcelona | City of Manchester Stadium, Manchester |
| 20:45 | Gündoğan 39', 74' De Bruyne 51' | Relatório | Messi 21' | Público: 53 340 Árbitro: HUN Viktor Kassai |
| Man. City | Barcelona |
| 23 de novembro de 2016 | Celtic | 0 – 2 | Barcelona | Celtic Park, Glasgow |
| 20:45 | | Relatório | Messi 24', 56' (pen) | Público: 57 937 Árbitro: ITA Daniele Orsato |
| Celtic | Barcelona |
| 23 de novembro de 2016 | Borussia Mönchengladbach | 1 – 1 | Manchester City | Borussia-Park, Mönchengladbach |
| 20:45 | Raffael 23' | Relatório | Silva 45+1' | Público: 45 921 Árbitro: TUR Cüneyt Çakır |
| Borussia M. | Man. City |
| 6 de dezembro de 2016 | Barcelona | 4 – 0 | Borussia Mönchengladbach | Camp Nou, Barcelona |
| 20:45 | Messi 16' Turan 50', 53', 67' | Relatório | | Público: 67 157 Árbitro: RUS Sergei Karasev |
| Barcelona | Borussia M. |
| 6 de dezembro de 2016 | Manchester City | 1 – 1 | Celtic | City of Manchester Stadium, Manchester |
| 20:45 | Iheanacho 8' | Relatório | Roberts 4' | Público: 51 297 Árbitro: SVN Slavko Vinčić |
| Man. City | Celtic |

### Grupo D

| Pos | Equipe | Pts | J | V | E | D | GP | GC | SG | Classificado | ATL | BAY | RST | PSV |
| 1 | Atlético de Madrid | 15 | 6 | 5 | 0 | 1 | 7 | 2 | +5 | Classificado às oitavas de final | — | 1–0 | 2–1 | 2–0 |
| 2 | Bayern de Munique | 12 | 6 | 4 | 0 | 2 | 14 | 6 | +8 | Classificado às oitavas de final | 1–0 | — | 5–0 | 4–1 |
| 3 | Rostov | 5 | 6 | 1 | 2 | 3 | 6 | 12 | −6 | Transferido para Liga Europa | 0–1 | 3–2 | — | 2–2 |
| 4 | PSV Eindhoven | 2 | 6 | 0 | 2 | 4 | 4 | 11 | −7 | Eliminado | 0–1 | 1–2 | 0–0 | — |
| 13 de setembro de 2016 | PSV Eindhoven | 0 – 1 | Atlético de Madrid | Philips Stadion, Eindhoven |
| 20:45 | | Relatório | Saúl 43' | Público: 33 989 Árbitro: ENG Martin Atkinson |
| PSV | Atl. de Madrid |
| 13 de setembro de 2016 | Bayern de Munique | 5 – 0 | Rostov | Allianz Arena, Munique |
| 20:45 | Lewandowski 28' (pen) Müller 45+2' Kimmich 53', 60' Bernat 90' | Relatório | | Público: 70 000 Árbitro: ENG Anthony Taylor |
| Bayern | Rostov |
| 28 de setembro de 2016 | Atlético de Madrid | 1 – 0 | Bayern de Munique | Estádio Vicente Calderón, Madrid |
| 20:45 | Carrasco 35' | Relatório | | Público: 48 242 Árbitro: POL Szymon Marciniak |
| Atl. de Madrid | Bayern |
| 28 de setembro de 2016 | Rostov | 2 – 2 | PSV Eindhoven | Olimp - 2, Rostov do Don |
| 20:45 | Poloz 8', 37' | Relatório | Pröpper 14' de Jong 45+1' | Público: 12 646 Árbitro: FRA Clément Turpin |
| Rostov | PSV |
| 19 de outubro de 2016 | Rostov | 0 – 1 | Atlético de Madrid | Olimp - 2, Rostov do Don |
| 20:45 | | Relatório | Carrasco 62' | Público: 15 400 Árbitro: ITA Daniele Orsato |
| Rostov | Atl. de Madrid |
| 19 de outubro de 2016 | Bayern de Munique | 4 – 1 | PSV Eindhoven | Allianz Arena, Munique |
| 20:45 | Müller 13' Kimmich 21' Lewandowski 59' Robben 84' | Relatório | Narsingh 41' | Público: 70 000 Árbitro: SCO William Collum |
| Bayern | PSV |
| 1 de novembro de 2016 | Atlético de Madrid | 2 – 1 | Rostov | Estádio Vicente Calderón, Madrid |
| 20:45 | Griezmann 28', 90+3' | Relatório | Azmoun 30' | Público: 40 392 Árbitro: SCO Craig Thomson |
| Atl. de Madrid | Rostov |
| 1 de novembro de 2016 | PSV Eindhoven | 1 – 2 | Bayern de Munique | Philips Stadion, Eindhoven |
| 20:45 | Arias 14' | Relatório | Lewandowski 34' (pen), 74' | Público: 35 000 Árbitro: ITA Gianluca Rocchi |
| PSV | Bayern |
| 23 de novembro de 2016 | Rostov | 3 – 2 | Bayern de Munique | Olimp - 2, Rostov do Don |
| 18:00 | Azmoun 44' Poloz 50' (pen) Noboa 67' | Relatório | Douglas Costa 35' Bernat 52' | Público: 15 211 Árbitro: POR Artur Soares Dias |
| Rostov | Bayern |
| 23 de novembro de 2016 | Atlético de Madrid | 2 – 0 | PSV Eindhoven | Estádio Vicente Calderón, Madrid |
| 20:45 | Gameiro 55' Griezmann 66' | Relatório | | Público: 37 891 Árbitro: BLR Aleksei Kulbakov |
| Atl. de Madrid | PSV |
| 6 de dezembro de 2016 | Bayern de Munique | 1 – 0 | Atlético de Madrid | Allianz Arena, Munique |
| 20:45 | Lewandowski 28' | Relatório | | Público: 70 000 Árbitro: FRA Clément Turpin |
| Bayern | Atl. de Madrid |
| 6 de dezembro de 2016 | PSV Eindhoven | 0 – 0 | Rostov | Philips Stadion, Eindhoven |
| 20:45 | | Relatório | | Público: 33 400 Árbitro: GER Deniz Aytekin |
| PSV | Rostov |

### Grupo E

| Pos | Equipe | Pts | J | V | E | D | GP | GC | SG | Classificado | MON | LEV | TOT | CSKA |
| 1 | Monaco | 11 | 6 | 3 | 2 | 1 | 9 | 7 | +2 | Classificado às oitavas de final | — | 1–1 | 2–1 | 3–0 |
| 2 | Bayer Leverkusen | 10 | 6 | 2 | 4 | 0 | 8 | 4 | +4 | Classificado às oitavas de final | 3–0 | — | 0–0 | 2–2 |
| 3 | Tottenham | 7 | 6 | 2 | 1 | 3 | 6 | 6 | 0 | Transferido para Liga Europa | 1–2 | 0–1 | — | 3–1 |
| 4 | CSKA Moscou | 3 | 6 | 0 | 3 | 3 | 5 | 11 | −6 | Eliminado | 1–1 | 1–1 | 0–1 | — |
| 14 de setembro de 2016 | Bayer Leverkusen | 2 – 2 | CSKA Moscou | BayArena, Leverkusen |
| 20:45 | Mehmedi 9' Çalhanoğlu 15' | Relatório | Dzagoyev 36' Eremenko 38' | Público: 23 459 Árbitro: ITA Daniele Orsato |
| Bayer Leverk. | CSKA Moscou |
| 14 de setembro de 2016 | Tottenham | 1 – 2 | Monaco | Estádio de Wembley, Londres |
| 20:45 | Alderweireld 45' | Relatório | Bernardo Silva 15' Lemar 31' | Público: 85 011 Árbitro: ITA Gianluca Rocchi |
| Tottenham | Monaco |
| 27 de setembro de 2016 | Monaco | 1 – 1 | Bayer Leverkusen | Stade Louis II, Mônaco |
| 20:45 | Glik 90+4' | Relatório | Hernández 74' | Público: 8 100 Árbitro: ESP David Fernández Borbalán |
| Monaco | Bayer Leverk. |
| 27 de setembro de 2016 | CSKA Moscou | 0 – 1 | Tottenham | Arena CSKA, Moscou |
| 20:45 | | Relatório | Son Heung-min 71' | Público: 26 153 Árbitro: ESP Antonio Mateu Lahoz |
| CSKA Moscou | Tottenham |
| 18 de outubro de 2016 | CSKA Moscou | 1 – 1 | Monaco | Arena CSKA, Moscou |
| 20:45 | Traoré 34' | Relatório | Bernardo Silva 87' | Público: 24 125 Árbitro: SWE Martin Strömbergsson |
| CSKA Moscou | Monaco |
| 18 de outubro de 2016 | Bayer Leverkusen | 0 – 0 | Tottenham | BayArena, Leverkusen |
| 20:45 | | Relatório | | Público: 28 887 Árbitro: TUR Cüneyt Çakır |
| Bayer Leverk. | Tottenham |
| 2 de novembro de 2016 | Monaco | 3 – 0 | CSKA Moscou | Stade Louis II, Mônaco |
| 20:45 | Germain 13' Falcao 29', 41' | Relatório | | Público: 10 029 Árbitro: SVN Matej Jug |
| Monaco | CSKA Moscou |
| 2 de novembro de 2016 | Tottenham | 0 – 1 | Bayer Leverkusen | Estádio de Wembley, Londres |
| 20:45 | | Relatório | Kampl 65' | Público: 85 512 Árbitro: SWE Jonas Eriksson |
| Tottenham | Bayer Leverk. |
| 22 de novembro de 2016 | CSKA Moscou | 1 – 1 | Bayer Leverkusen | Arena CSKA, Moscou |
| 18:00 | Natkho 76' (pen) | Relatório | Volland 16' | Público: 19 164 Árbitro: ESP Alberto Undiano Mallenco |
| CSKA Moscou | Bayer Leverk. |
| 22 de novembro de 2016 | Monaco | 2 – 1 | Tottenham | Stade Louis II, Mônaco |
| 20:45 | Sidibé 48' Lemar 53' | Relatório | Kane 52' (pen) | Público: 13 100 Árbitro: NED Björn Kuipers |
| Monaco | Tottenham |
| 7 de dezembro de 2016 | Bayer Leverkusen | 3 – 0 | Monaco | BayArena, Leverkusen |
| 20:45 | Yurchenko 30' Brandt 48' De Sanctis 82' | Relatório | | Público: 21 928 Árbitro: LTU Gediminas Mažeika |
| Bayer Leverk. | Monaco |
| 7 de dezembro de 2016 | Tottenham | 3 – 1 | CSKA Moscou | Estádio de Wembley, Londres |
| 20:45 | Alli 38' Kane 45+1' Akinfeev 77' | Relatório | Dzagoyev 33' | Público: 62 034 Árbitro: ITA Nicola Rizzoli |
| Tottenham | CSKA Moscou |

### Grupo F

| Pos | Equipe | Pts | J | V | E | D | GP | GC | SG | Classificado | DOR | RM | LEG | SPO |
| 1 | Borussia Dortmund | 14 | 6 | 4 | 2 | 0 | 21 | 9 | +12 | Classificado às oitavas de final | — | 2–2 | 8–4 | 1–0 |
| 2 | Real Madrid | 12 | 6 | 3 | 3 | 0 | 16 | 10 | +6 | Classificado às oitavas de final | 2–2 | — | 5–1 | 2–1 |
| 3 | Légia Varsóvia | 4 | 6 | 1 | 1 | 4 | 9 | 24 | −15 | Transferido para Liga Europa | 0–6 | 3–3 | — | 1–0 |
| 4 | Sporting | 3 | 6 | 1 | 0 | 5 | 5 | 8 | −3 | Eliminado | 1–2 | 1–2 | 2–0 | — |
| 14 de setembro de 2016 | Real Madrid | 2 – 1 | Sporting | Estádio Santiago Bernabéu, Madrid |
| 20:45 | Ronaldo 89' Morata 90+4' | Relatório | Bruno César 48' | Público: 72 179 Árbitro: ITA Paolo Tagliavento |
| Real Madrid | Sporting |
| 14 de setembro de 2016 | Légia Varsóvia | 0 – 6 | Borussia Dortmund | Estádio do Exército Polônes, Varsóvia |
| 20:45 | | Relatório | Götze 7' Papastathopoulos 15' Bartra 17' Raphaël Guerreiro 51' Castro 76' Aubameyang 87' | Público: 27 304 Árbitro: RUS Sergei Karasev |
| Légia V. | Borussia D. |
| 27 de setembro de 2016 | Borussia Dortmund | 2 – 2 | Real Madrid | Signal Iduna Park, Dortmund |
| 20:45 | Aubameyang 43' Schürrle 87' | Relatório | Ronaldo 17' Varane 68' | Público: 65 849 Árbitro: ENG Mark Clattenburg |
| Borussia D. | Real Madrid |
| 27 de setembro de 2016 | Sporting | 2 – 0 | Légia Varsóvia | Estádio José Alvalade, Lisboa |
| 20:45 | B. Ruiz 28' Dost 37' | Relatório | | Público: 40 094 Árbitro: ENG Michael Oliver |
| Sporting | Légia V. |
| 18 de outubro de 2016 | Sporting | 1 – 2 | Borussia Dortmund | Estádio José Alvalade, Lisboa |
| 20:45 | Bruno César 67' | Relatório | Aubameyang 9' Weigl 43' | Público: 46 609 Árbitro: SVN Damir Skomina |
| Sporting | Borussia D. |
| 18 de outubro de 2016 | Real Madrid | 5 – 1 | Légia Varsóvia | Estádio Santiago Bernabéu, Madrid |
| 20:45 | Bale 16' Jodłowiec 20' Asensio 37' Vázquez 68' Morata 84' | Relatório | Radović 22' (pen) | Público: 70 251 Árbitro: FRA Ruddy Buquet |
| Real Madrid | Légia V. |
| 2 de novembro de 2016 | Borussia Dortmund | 1 – 0 | Sporting | Signal Iduna Park, Dortmund |
| 20:45 | Ramos 12' | Relatório | | Público: 65 849 Árbitro: NED Danny Makkelie |
| Borussia D. | Sporting |
| 2 de novembro de 2016 | Légia Varsóvia | 3 – 3 | Real Madrid | Estádio do Exército Polônes, Varsóvia |
| 20:45 | Odjidja 40' Radović 58' Moulin 83' | Relatório | Bale 1' Benzema 35' Kovačić 85' | Público: 0 Árbitro: CZE Pavel Královec |
| Légia V. | Real Madrid |
| 22 de novembro de 2016 | Sporting | 1 – 2 | Real Madrid | Estádio José Alvalade, Lisboa |
| 20:45 | Adrien Silva 80' (pen) | Relatório | Varane 29' Benzema 87' | Público: 50 046 Árbitro: SCO William Collum |
| Sporting | Real Madrid |
| 22 de novembro de 2016 | Borussia Dortmund | 8 – 4 | Légia Varsóvia | Signal Iduna Park, Dortmund |
| 20:45 | Kagawa 17', 18' Şahin 20' Dembélé 29' Reus 32', 52' Passlack 81' Rzeźniczak 90+2' | Relatório | Prijović 10', 24' Kucharczyk 57' Nikolić 83' | Público: 55 094 Árbitro: SWE Martin Strömbergsson |
| Borussia D. | Légia V. |
| 7 de dezembro de 2016 | Real Madrid | 2 – 2 | Borussia Dortmund | Estádio Santiago Bernabéu, Madrid |
| 20:45 | Benzema 28', 53' | Relatório | Aubameyang 60' Reus 88' | Público: 76 894 Árbitro: POL Szymon Marciniak |
| Real Madrid | Borussia D. |
| 7 de dezembro de 2016 | Légia Varsóvia | 1 – 0 | Sporting | Estádio do Exército Polônes, Varsóvia |
| 20:45 | Guilherme 30' | Relatório | | Público: 28 232 Árbitro: ITA Gianluca Rocchi |
| Légia V. | Sporting |

### Grupo G

| Pos | Equipe | Pts | J | V | E | D | GP | GC | SG | Classificado | LEI | POR | KOB | BRU |
| 1 | Leicester | 13 | 6 | 4 | 1 | 1 | 7 | 6 | +1 | Classificado às oitavas de final | — | 1–0 | 1–0 | 2–1 |
| 2 | Porto | 11 | 6 | 3 | 2 | 1 | 9 | 3 | +6 | Classificado às oitavas de final | 5–0 | — | 1–1 | 1–0 |
| 3 | København | 9 | 6 | 2 | 3 | 1 | 7 | 2 | +5 | Transferido para Liga Europa | 0–0 | 0–0 | — | 4–0 |
| 4 | Brugge | 0 | 6 | 0 | 0 | 6 | 2 | 14 | −12 | Eliminado | 0–3 | 1–2 | 0–2 | — |
| 14 de setembro de 2016 | Brugge | 0 – 3 | Leicester | Estádio Jan Breydel, Bruges |
| 20:45 | | Relatório | Albrighton 5' Mahrez 29', 61' | Público: 20 970 Árbitro: GRE Tasos Sidiropoulos |
| Brugge | Leicester |
| 14 de setembro de 2016 | Porto | 1 – 1 | København | Estádio do Dragão, Porto |
| 20:45 | Otávio 13' | Relatório | Cornelius 52' | Público: 34 325 Árbitro: SVN Matej Jug |
| Porto | Copenhague |
| 27 de setembro de 2016 | København | 4 – 0 | Brugge | Estádio Parken, Copenhague |
| 20:45 | Denswil 53' Delaney 64' Santander 69' Jørgensen 90+2' | Relatório | | Público: 25 605 Árbitro: SCO Craig Thomson |
| Copenhague | Brugge |
| 27 de setembro de 2016 | Leicester | 1 – 0 | Porto | King Power Stadium, Leicester |
| 20:45 | Slimani 25' | Relatório | | Público: 31 805 Árbitro: TUR Cüneyt Çakır |
| Leicester | Porto |
| 18 de outubro de 2016 | Leicester | 1 – 0 | København | King Power Stadium, Leicester |
| 20:45 | Mahrez 40' | Relatório | | Público: 31 037 Árbitro: ITA Nicola Rizzoli |
| Leicester | Copenhague |
| 18 de outubro de 2016 | Brugge | 1 – 2 | Porto | Estádio Jan Breydel, Bruges |
| 20:45 | Vossen 12' | Relatório | Layún 68' André Silva 90+3' (pen) | Público: 23 372 Árbitro: ITA Paolo Tagliavento |
| Brugge | Porto |
| 2 de novembro de 2016 | København | 0 – 0 | Leicester | Estádio Parken, Copenhague |
| 20:45 | | Relatório | | Público: 34 146 Árbitro: GER Felix Brych |
| Copenhague | Leicester |
| 2 de novembro de 2016 | Porto | 1 – 0 | Brugge | Estádio do Dragão, Porto |
| 20:45 | André Silva 37' | Relatório | | Público: 32 310 Árbitro: ESP Alberto Undiano Mallenco |
| Porto | Brugge |
| 22 de novembro de 2016 | Leicester | 2 – 1 | Brugge | King Power Stadium, Leicester |
| 20:45 | Okazaki 5' Mahrez 30' (pen) | Relatório | Izquierdo 52' | Público: 31 443 Árbitro: FRA Ruddy Buquet |
| Leicester | Brugge |
| 22 de novembro de 2016 | København | 0 – 0 | Porto | Estádio Parken, Copenhague |
| 20:45 | | Relatório | | Público: 32 036 Árbitro: SRB Milorad Mažić |
| Copenhague | Porto |
| 7 de dezembro de 2016 | Brugge | 0 – 2 | København | Estádio Jan Breydel, Bruges |
| 20:45 | | Relatório | Mechele 8' Jørgensen 15' | Público: 18 981 Árbitro: ENG Michael Oliver |
| Brugge | Copenhague |
| 7 de dezembro de 2016 | Porto | 5 – 0 | Leicester | Estádio do Dragão, Porto |
| 20:45 | André Silva 6', 64' (pen) Corona 26' Brahimi 44' Diogo Jota 77' | Relatório | | Público: 39 310 Árbitro: GER Felix Zwayer |
| Porto | Leicester |

### Grupo H

| Pos | Equipe | Pts | J | V | E | D | GP | GC | SG | Classificado | JUV | SEV | LYO | DZG |
| 1 | Juventus | 14 | 6 | 4 | 2 | 0 | 11 | 2 | +9 | Classificado às oitavas de final | — | 0–0 | 1–1 | 2–0 |
| 2 | Sevilla | 11 | 6 | 3 | 2 | 1 | 7 | 3 | +4 | Classificado às oitavas de final | 1–3 | — | 1–0 | 4–0 |
| 3 | Lyon | 8 | 6 | 2 | 2 | 2 | 5 | 3 | +2 | Transferido para Liga Europa | 0–1 | 0–0 | — | 3–0 |
| 4 | Dínamo Zagreb | 0 | 6 | 0 | 0 | 6 | 0 | 15 | −15 | Eliminado | 0–4 | 0–1 | 0–1 | — |
| 14 de setembro de 2016 | Juventus | 0 – 0 | Sevilla | Juventus Stadium, Turim |
| 20:45 | | Relatório | | Público: 33 261 Árbitro: GER Deniz Aytekin |
| Juventus | Sevilla |
| 14 de setembro de 2016 | Lyon | 3 – 0 | Dínamo Zagreb | Parc Olympique Lyonnais, Décines-Charpieu |
| 20:45 | Tolisso 3' Ferri 49' Cornet 57' | Relatório | | Público: 43 754 Árbitro: SWE Martin Strömbergsson |
| Lyon | Dinamo Z. |
| 27 de setembro de 2016 | Sevilla | 1 – 0 | Lyon | Estádio Ramón Sánchez Pizjuán, Sevilha |
| 20:45 | Ben Yedder 53' | Relatório | | Público: 36 741 Árbitro: NED Bas Nijhuis |
| Sevilla | Lyon |
| 27 de setembro de 2016 | Dínamo Zagreb | 0 – 4 | Juventus | Estádio Maksimir, Zagreb |
| 20:45 | | Relatório | Pjanić 24' Higuaín 31' Dybala 57' Daniel Alves 85' | Público: 23 875 Árbitro: POR Manuel de Sousa |
| Dinamo Z. | Juventus |
| 18 de outubro de 2016 | Dínamo Zagreb | 0 – 1 | Sevilla | Estádio Maksimir, Zagreb |
| 20:45 | | Relatório | Nasri 37' | Público: 6 021 Árbitro: ENG Michael Oliver |
| Dinamo Z. | Sevilla |
| 18 de outubro de 2016 | Lyon | 0 – 1 | Juventus | Parc Olympique Lyonnais, Décines-Charpieu |
| 20:45 | | Relatório | Cuadrado 76' | Público: 53 907 Árbitro: POL Szymon Marciniak |
| Lyon | Juventus |
| 2 de novembro de 2016 | Sevilla | 4 – 0 | Dínamo Zagreb | Estádio Ramón Sánchez Pizjuán, Sevilha |
| 20:45 | Vietto 31' Escudero 66' N'Zonzi 80' Ben Yedder 87' | Relatório | | Público: 35 215 Árbitro: GER Felix Zwayer |
| Sevilla | Dinamo Z. |
| 2 de novembro de 2016 | Juventus | 1 – 1 | Lyon | Juventus Stadium, Turim |
| 20:45 | Higuaín 13' (pen) | Relatório | Tolisso 85' | Público: 40 356 Árbitro: NED Björn Kuipers |
| Juventus | Lyon |
| 22 de novembro de 2016 | Dínamo Zagreb | 0 – 1 | Lyon | Estádio Maksimir, Zagreb |
| 20:45 | | Relatório | Lacazette 72' | Público: 7 834 Árbitro: CZE Pavel Královec |
| Dinamo Z. | Lyon |
| 22 de novembro de 2016 | Sevilla | 1 – 3 | Juventus | Estádio Ramón Sánchez Pizjuán, Sevilha |
| 20:45 | Pareja 9' | Relatório | Marchisio 45+2' (pen) Bonucci 84' Mandžukić 90+4' | Público: 38 942 Árbitro: ENG Mark Clattenburg |
| Sevilla | Juventus |
| 7 de dezembro de 2016 | Lyon | 0 – 0 | Sevilla | Parc Olympique Lyonnais, Décines-Charpieu |
| 20:45 | | Relatório | | Público: 52 423 Árbitro: SWE Jonas Eriksson |
| Lyon | Sevilla |
| 7 de dezembro de 2016 | Juventus | 2 – 0 | Dínamo Zagreb | Juventus Stadium, Turim |
| 20:45 | Higuaín 52' Rugani 73' | Relatório | | Público: 39 380 Árbitro: ENG Anthony Taylor |
| Juventus | Dinamo Z. |