# 2018–19 UEFA Champions League

The 2018–19 UEFA Champions League was the 64th season of Europe's premier club football tournament organised by UEFA, and the 27th season since it was renamed from the European Champion Clubs' Cup to the UEFA Champions League. For the first time, the video assistant referee (VAR) system was used in the competition from the round of 16 onward.
The final was played at the Metropolitano Stadium in Madrid, Spain, between Tottenham Hotspur and Liverpool, in the second all-English final after Manchester United beat Chelsea in 2008. Liverpool won the match 2–0 to claim their sixth European Cup – becoming the third ever team to do so, behind Real Madrid in 1966, and Milan in 2003. The win gave Liverpool automatic qualification for the 2019–20 UEFA Champions League group stage and the right to play in the 2019 UEFA Super Cup and the 2019 FIFA Club World Cup, the latter two of which they won. As Chelsea and Arsenal also reached the 2019 UEFA Europa League final, this was the first season to have multiple finals of major European club competitions featuring teams from a single nation.
Defending champions Real Madrid, who had won four of the last five titles, including each of the last three, were eliminated by Ajax in the round of 16. Although Ajax was eliminated in the semi-finals, they had played more matches than any other team in the tournament due to entering in the second qualifying round.

## Format changes

On 9 December 2016, UEFA confirmed the reforming plan for the UEFA Champions League for the 2018–2021 cycle, which was announced on 26 August 2016. As per the new regulations, the previous season's UEFA Europa League winners will qualify automatically for the UEFA Champions League group stage (previously they would qualify for the play-off round, but would be promoted to the group stage only if the Champions League title holder berth was vacated, although this promotion to the group stage had been made in all three seasons since it was established from 2015–2016). Meanwhile, the top four teams from the leagues of the four top-ranked national associations in the UEFA country coefficients list will qualify automatically for the group stage as well. Only six teams will qualify for the group stage via the qualification rounds, down from ten in the previous season.
This was also the first year to feature a preliminary round, in which the representatives of the four bottom-ranked national associations in the UEFA country coefficients contested single-legged semi-finals and a final to determine the final team to enter the first qualifying round.

## Association team allocation

79 teams from 54 of the 55 UEFA member associations participated in the 2018–19 UEFA Champions League (the exception being Liechtenstein, which did not organise a domestic league). The association ranking based on the UEFA country coefficients was used to determine the number of participating teams for each association:
* Associations 1–4 each had four teams qualify.
* Associations 5–6 each had three teams qualify.
* Associations 7–15 each had two teams qualify.
* Associations 16–55 (except Liechtenstein) each had one team qualify.
* The winners of the 2017–18 UEFA Champions League and 2017–18 UEFA Europa League were each given an additional entry if they did not qualify for the 2018–19 UEFA Champions League through their domestic league.
** The winners of the 2017–18 UEFA Champions League, Real Madrid, qualified through their domestic league, meaning the additional entry for the Champions League title holders was not necessary.
** The winners of the 2017–18 UEFA Europa League, Atlético Madrid, qualified through their domestic league, meaning the additional entry for the Europa League title holders was not necessary.

### Association ranking

For the 2018–19 UEFA Champions League, the associations were allocated places according to their 2017 UEFA country coefficients, which took into account their performance in European competitions from 2012–13 to 2016–17.
Apart from the allocation based on the country coefficients, associations could have additional teams participating in the Champions League, as noted below:
* (UCL) – Additional berth for the 2017–18 UEFA Champions League winners
* (UEL) – Additional berth for the 2017–18 UEFA Europa League winners
| Rank | Association | Coeff. | Teams |
| 1 | Spain | 104.998 | 4 |
| 2 | Germany | 79.498 | 4 |
| 3 | England | 75.962 | 4 |
| 4 | Italy | 73.332 | 4 |
| 5 | France | 56.665 | 3 |
| 6 | Russia | 50.532 | 3 |
| 7 | Portugal | 49.332 | 2 |
| 8 | Ukraine | 42.633 | 2 |
| 9 | Belgium | 42.400 | 2 |
| 10 | Turkey | 39.200 | 2 |
| 11 | Czech Republic | 33.175 | 2 |
| 12 | Switzerland | 32.075 | 2 |
| 13 | Netherlands | 31.063 | 2 |
| 14 | Greece | 27.900 | 2 |
| 15 | Austria | 25.350 | 2 |
| 16 | Croatia | 25.250 | 1 |
| 17 | Romania | 24.350 | 1 |
| 18 | Denmark | 24.000 | 1 |
| 19 | Belarus | 19.875 | 1 |
| Rank | Association | Coeff. | Teams |
| 20 | Poland | 19.750 | 1 |
| 21 | Sweden | 19.725 | 1 |
| 22 | Israel | 19.375 | 1 |
| 23 | Scotland | 18.925 | 1 |
| 24 | Cyprus | 18.550 | 1 |
| 25 | Norway | 18.325 | 1 |
| 26 | Azerbaijan | 17.750 | 1 |
| 27 | Bulgaria | 15.875 | 1 |
| 28 | Serbia | 15.375 | 1 |
| 29 | Kazakhstan | 15.250 | 1 |
| 30 | Slovenia | 13.125 | 1 |
| 31 | Slovakia | 11.750 | 1 |
| 32 | Liechtenstein | 11.000 | 0 |
| 33 | Hungary | 9.500 | 1 |
| 34 | Moldova | 9.500 | 1 |
| 35 | Iceland | 8.375 | 1 |
| 36 | Finland | 7.650 | 1 |
| 37 | Albania | 6.625 | 1 |
| Rank | Association | Coeff. | Teams |
| 38 | Republic of Ireland | 6.575 | 1 |
| 39 | Bosnia and Herzegovina | 6.500 | 1 |
| 40 | Georgia | 6.375 | 1 |
| 41 | Latvia | 6.125 | 1 |
| 42 | Macedonia | 5.625 | 1 |
| 43 | Estonia | 5.250 | 1 |
| 44 | Montenegro | 5.250 | 1 |
| 45 | Armenia | 5.125 | 1 |
| 46 | Luxembourg | 4.875 | 1 |
| 47 | Northern Ireland | 4.500 | 1 |
| 48 | Lithuania | 4.125 | 1 |
| 49 | Malta | 4.000 | 1 |
| 50 | Wales | 3.875 | 1 |
| 51 | Faroe Islands | 3.500 | 1 |
| 52 | Gibraltar | 2.500 | 1 |
| 53 | Andorra | 1.165 | 1 |
| 54 | San Marino | 0.333 | 1 |
| 55 | Kosovo | 0.000 | 1 |

### Distribution

In the default access list, the Champions League title holders qualified for the group stage. However, since Real Madrid already qualified for the group stage via their domestic league (as third place of the 2017–18 La Liga), the following changes to the access list were made:
* The champions of association 11 (Czech Republic) entered the group stage instead of the play-off round.
* The champions of association 13 (Netherlands) entered the play-off round instead of the third qualifying round.
* The champions of association 15 (Austria) entered the third qualifying round instead of the second qualifying round.
* The champions of associations 18 (Denmark) and 19 (Belarus) entered the second qualifying round instead of the first qualifying round.
In addition, the Europa League title holders qualified for the group stage. However, since Atlético Madrid, the Europa League champions, already qualified for the group stage via their domestic league (as second place of the 2017–18 La Liga), the following changes to the access list were made:
* The third-placed team of association 5 (France) entered the group stage instead of the third qualifying round.
* The runners-up of association 10 (Turkey) and 11 (Czech Republic) entered the third qualifying round instead of the second qualifying round.
Access list for 2018–19 UEFA Champions League :
| | | Teams entering in this round | Teams advancing from previous round |
| Preliminary round (4 teams) | Preliminary round (4 teams) | 4 champions from associations 52–55 | |
| First qualifying round (32 teams) | First qualifying round (32 teams) | 31 champions from associations 20–51 (except Liechtenstein) | 1 winner from the preliminary round |
| Second qualifying round | Champions Path (20 teams) | 4 champions from associations 16–19 | 16 winners from the first qualifying round |
| Second qualifying round | League Path (4 teams) | 4 runners-up from associations 12–15 | |
| Third qualifying round | Champions Path (12 teams) | 2 champions from associations 14–15 | 10 winners from the second qualifying round (Champions Path) |
| Third qualifying round | League Path (8 teams) | 5 runners-up from associations 7–11 1 third-placed team from association 6 | 2 winners from the second qualifying round (League Path) |
| Play-off round | Champions Path (8 teams) | 2 champions from associations 12–13 | 6 winners from the third qualifying round (Champions Path) |
| Play-off round | League Path (4 teams) | | 4 winners from the third qualifying round (League Path) |
| Group stage (32 teams) | Group stage (32 teams) | 11 champions from associations 1–11 6 runners-up from associations 1–6 5 third-placed teams from associations 1–5 4 fourth-placed teams from associations 1–4 | 4 winners from the play-off round (Champions Path) 2 winners from the play-off round (League Path) |
| Knockout phase (16 teams) | Knockout phase (16 teams) | | 8 group winners from the group stage 8 group runners-up from the group stage |

### Teams

League positions of the previous season shown in parentheses (TH: Champions League title holders; EL: Europa League title holders).
Qualified teams for 2018–19 UEFA Champions League (by entry round) Group stage :
| Real Madrid (3rd) | Borussia Dortmund (4th) | Roma (3rd) | Porto (1st) |
| Atlético Madrid (2nd) | Manchester City (1st) | Inter Milan (4th) | Shakhtar Donetsk (1st) |
| Barcelona (1st) | Manchester United (2nd) | Paris Saint-Germain (1st) | Club Brugge (1st) |
| Valencia (4th) | Tottenham Hotspur (3rd) | Monaco (2nd) | Galatasaray (1st) |
| Bayern Munich (1st) | Liverpool (4th) | Lyon (3rd) | Viktoria Plzeň (1st) |
| Schalke 04 (2nd) | Juventus (1st) | Lokomotiv Moscow (1st) | |
| TSG Hoffenheim (3rd) | Napoli (2nd) | CSKA Moscow (2nd) | |
Play-off round :
| Champions Path | Champions Path | League Path | League Path |
| Young Boys (1st) | PSV Eindhoven (1st) | | |
Third qualifying round :
| Champions Path | Champions Path | League Path | League Path |
| AEK Athens (1st) | Red Bull Salzburg (1st) | Spartak Moscow (3rd) | Standard Liège (2nd) |
| | | Benfica (2nd) | Fenerbahçe (2nd) |
| | | Dynamo Kyiv (2nd) | Slavia Prague (2nd) |
Second qualifying round :
| Champions Path | Champions Path | League Path | League Path |
| Dinamo Zagreb (1st) | Midtjylland (1st) | Basel (2nd) | PAOK (2nd) |
| CFR Cluj (1st) | BATE Borisov (1st) | Ajax (2nd) | Sturm Graz (2nd) |
First qualifying round :
| Legia Warsaw (1st) | Red Star Belgrade (1st) | Kukësi (2nd) | Alashkert (1st) |
| Malmö FF (1st) | Astana (1st) | Cork City (1st) | F91 Dudelange (1st) |
| Hapoel Be'er Sheva (1st) | Olimpija Ljubljana (1st) | Zrinjski Mostar (1st) | Crusaders (1st) |
| Celtic (1st) | Spartak Trnava (1st) | Torpedo Kutaisi (1st) | Sūduva (1st) |
| APOEL (1st) | MOL Vidi (1st) | Spartaks Jūrmala (1st) | Valletta (1st) |
| Rosenborg (1st) | Sheriff Tiraspol (1st) | Shkëndija (1st) | The New Saints (1st) |
| Qarabağ (1st) | Valur (1st) | Flora (1st) | Víkingur Gøta (1st) |
| Ludogorets Razgrad (1st) | HJK (1st) | Sutjeska (1st) | |
Preliminary round :
| Lincoln Red Imps (1st) | FC Santa Coloma (1st) | La Fiorita (1st) | Drita (1st) |

#### Notes

* ^ Albania (ALB): In March 2018, Skënderbeu were handed a 10-year ban from UEFA club competitions over match fixing. Since they finished as champions of the 2017–18 Albanian Superliga, the runners-up of the league, Kukësi, entered the 2018–19 UEFA Champions League instead of the 2018–19 UEFA Europa League.

## Round and draw dates

The schedule of the competition was as follows (all draws were held at the UEFA headquarters in Nyon, Switzerland, unless stated otherwise).
Schedule for 2018–19 UEFA Champions League :
| Phase | Round | Draw date | First leg | Second leg |
| Qualifying | Preliminary round | 12 June 2018 | 26 June 2018 (semi-final round) | 29 June 2018 (final round) |
| Qualifying | First qualifying round | 19 June 2018 | 10–11 July 2018 | 17–18 July 2018 |
| Qualifying | Second qualifying round | 19 June 2018 | 24–25 July 2018 | 31 July – 1 August 2018 |
| Qualifying | Third qualifying round | 23 July 2018 | 7–8 August 2018 | 14 August 2018 |
| Play-off | Play-off round | 6 August 2018 | 21–22 August 2018 | 28–29 August 2018 |
| Group stage | Matchday 1 | 30 August 2018 (Monaco) | 18–19 September 2018 | 18–19 September 2018 |
| Group stage | Matchday 2 | 30 August 2018 (Monaco) | 2–3 October 2018 | 2–3 October 2018 |
| Group stage | Matchday 3 | 30 August 2018 (Monaco) | 23–24 October 2018 | 23–24 October 2018 |
| Group stage | Matchday 4 | 30 August 2018 (Monaco) | 6–7 November 2018 | 6–7 November 2018 |
| Group stage | Matchday 5 | 30 August 2018 (Monaco) | 27–28 November 2018 | 27–28 November 2018 |
| Group stage | Matchday 6 | 30 August 2018 (Monaco) | 11–12 December 2018 | 11–12 December 2018 |
| Knockout phase | Round of 16 | 17 December 2018 | 12–13 & 19–20 February 2019 | 5–6 & 12–13 March 2019 |
| Knockout phase | Quarter-finals | 15 March 2019 | 9–10 April 2019 | 16–17 April 2019 |
| Knockout phase | Semi-finals | 15 March 2019 | 30 April – 1 May 2019 | 7–8 May 2019 |
| Knockout phase | Final | 15 March 2019 | 1 June 2019 at Metropolitano Stadium, Madrid | 1 June 2019 at Metropolitano Stadium, Madrid |
From this season, there were staggered kick-off times in the group stage at 18:55 CET and 21:00 CET. Kick-off times starting from the knock-out phase were 21:00 CET.

## Qualifying rounds

In the qualifying and play-off rounds, teams were divided into seeded and unseeded teams based on their 2018 UEFA club coefficients, and then drawn into two-legged home-and-away ties.

### Preliminary round

In the preliminary round, teams were divided into seeded and unseeded teams based on their 2018 UEFA club coefficients, and then drawn into one-legged semi-final and final ties. The draw for the preliminary round was held on 12 June 2018. The semi-final round was played on 26 June, and the final round was played on 29 June 2018, both at the Victoria Stadium in Gibraltar. The losers of both semi-final and final rounds entered the 2018–19 UEFA Europa League second qualifying round.
Drita's win in the semi-final round was the first time that a team representing Kosovo had won a game in any UEFA competition.
| Team 1 | Score | Team 2 |
| Semi-final round |||
| FC Santa Coloma | 0–2 (a.e.t.) | Drita |
| La Fiorita | 0–2 | Lincoln Red Imps |
| Final round |||
| Lincoln Red Imps | 1–4 (a.e.t.) | Drita |

### First qualifying round

The draw for the first qualifying round was held on 19 June 2018. The first legs were played on 10 and 11 July, and the second legs were played on 17 and 18 July 2018. The losers entered the 2018–19 UEFA Europa League second qualifying round, except one team were drawn to receive a bye to the 2018–19 UEFA Europa League third qualifying round.
| Team 1 | Agg. Tooltip Aggregate score | Team 2 | 1st leg | 2nd leg |
| Torpedo Kutaisi | 2–4 | Sheriff Tiraspol | 2–1 | 0–3 |
| Shkëndija | 5–4 | The New Saints | 5–0 | 0–4 |
| Sūduva | 3–2 | APOEL | 3–1 | 0–1 |
| Olimpija Ljubljana | 0–1 | Qarabağ | 0–1 | 0–0 |
| F91 Dudelange | 2–3 | MOL Vidi | 1–1 | 1–2 |
| Drita | 0–5 | Malmö FF | 0–3 | 0–2 |
| Víkingur Gøta | 2–5 | HJK | 1–2 | 1–3 |
| Ludogorets Razgrad | 9–0 | Crusaders | 7–0 | 2–0 |
| Cork City | 0–4 | Legia Warsaw | 0–1 | 0–3 |
| Valur | 2–3 | Rosenborg | 1–0 | 1–3 |
| Kukësi | 1–1 (a) | Valletta | 0–0 | 1–1 |
| Flora | 2–7 | Hapoel Be'er Sheva | 1–4 | 1–3 |
| Spartaks Jūrmala | 0–2 | Red Star Belgrade | 0–0 | 0–2 |
| Alashkert | 0–6 | Celtic | 0–3 | 0–3 |
| Spartak Trnava | 2–1 | Zrinjski Mostar | 1–0 | 1–1 |
| Astana | 3–0 | Sutjeska | 1–0 | 2–0 |
* ↑ Order of legs reversed after original draw.
* ↑ Losers drawn to receive a bye to the Europa League third qualifying round.

### Second qualifying round

The second qualifying round was split into two separate sections: Champions Path (for league champions) and League Path (for league non-champions). The draw for the second qualifying round was held on 19 June 2018. The first legs were played on 24 and 25 July, and the second legs were played on 31 July and 1 August 2018. The losers from both Champions Path and League Path entered the 2018–19 UEFA Europa League third qualifying round.
| Team 1 | Agg. Tooltip Aggregate score | Team 2 | 1st leg | 2nd leg |
| Champions Path |||||
| Astana | 2–1 | Midtjylland | 2–1 | 0–0 |
| Ludogorets Razgrad | 0–1 | MOL Vidi | 0–0 | 0–1 |
| Kukësi | 0–3 | Qarabağ | 0–0 | 0–3 |
| CFR Cluj | 1–2 | Malmö FF | 0–1 | 1–1 |
| Dinamo Zagreb | 7–2 | Hapoel Be'er Sheva | 5–0 | 2–2 |
| Red Star Belgrade | 5–0 | Sūduva | 3–0 | 2–0 |
| BATE Borisov | 2–1 | HJK | 0–0 | 2–1 |
| Shkëndija | 1–0 | Sheriff Tiraspol | 1–0 | 0–0 |
| Legia Warsaw | 1–2 | Spartak Trnava | 0–2 | 1–0 |
| Celtic | 3–1 | Rosenborg | 3–1 | 0–0 |
| League Path |||||
| PAOK | 5–1 | Basel | 2–1 | 3–0 |
| Ajax | 5–1 | Sturm Graz | 2–0 | 3–1 |

### Third qualifying round

The third qualifying round was split into two separate sections: Champions Path (for league champions) and League Path (for league non-champions). The draw for the third qualifying round was held on 23 July 2018. The first legs were played on 7 and 8 August, and the second legs were played on 14 August 2018. The losers from Champions Path entered the 2018–19 UEFA Europa League play-off round, while the losers from League Path entered the 2018–19 UEFA Europa League group stage.
| Team 1 | Agg. Tooltip Aggregate score | Team 2 | 1st leg | 2nd leg |
| Champions Path |||||
| Celtic | 2–3 | AEK Athens | 1–1 | 1–2 |
| Red Bull Salzburg | 4–0 | Shkëndija | 3–0 | 1–0 |
| Red Star Belgrade | 3–2 | Spartak Trnava | 1–1 | 2–1 (a.e.t.) |
| Qarabağ | 1–2 | BATE Borisov | 0–1 | 1–1 |
| Astana | 0–3 | Dinamo Zagreb | 0–2 | 0–1 |
| Malmö FF | 1–1 (a) | MOL Vidi | 1–1 | 0–0 |
| League Path |||||
| Standard Liège | 2–5 | Ajax | 2–2 | 0–3 |
| Benfica | 2–1 | Fenerbahçe | 1–0 | 1–1 |
| Slavia Prague | 1–3 | Dynamo Kyiv | 1–1 | 0–2 |
| PAOK | 3–2 | Spartak Moscow | 3–2 | 0–0 |

## Play-off round

The play-off round was split into two separate sections: Champions Path (for league champions) and League Path (for league non-champions). The draw for the play-off round was held on 6 August 2018. The first legs were played on 21 and 22 August, and the second legs were played on 28 and 29 August. The losers from both Champions Path and League Path entered the 2018–19 UEFA Europa League group stage.
| Team 1 | Agg. Tooltip Aggregate score | Team 2 | 1st leg | 2nd leg |
| Champions Path |||||
| Red Star Belgrade | 2–2 (a) | Red Bull Salzburg | 0–0 | 2–2 |
| BATE Borisov | 2–6 | PSV Eindhoven | 2–3 | 0–3 |
| Young Boys | 3–2 | Dinamo Zagreb | 1–1 | 2–1 |
| MOL Vidi | 2–3 | AEK Athens | 1–2 | 1–1 |
| League Path |||||
| Benfica | 5–2 | PAOK | 1–1 | 4–1 |
| Ajax | 3–1 | Dynamo Kyiv | 3–1 | 0–0 |

## Group stage

The draw for the group stage was held on 30 August 2018 at the Grimaldi Forum in Monaco. The 32 teams were drawn into eight groups of four, with the restriction that teams from the same association could not be drawn against each other. For the draw, the teams were seeded into four pots based on the following principles (introduced starting this season):
* Pot 1 contained the Champions League and Europa League title holders, and the champions of the top six associations based on their 2017 UEFA country coefficients. If either or both title holders were one of the champions of the top six associations, the champions of the next highest ranked association(s) are also seeded into Pot 1.
* Pot 2, 3 and 4 contained the remaining teams, seeded based on their 2018 UEFA club coefficients.
In each group, teams played against each other home-and-away in a round-robin format. The group winners and runners-up advanced to the round of 16, while the third-placed teams entered the 2018–19 UEFA Europa League round of 32. The matchdays were 18–19 September, 2–3 October, 23–24 October, 6–7 November, 27–28 November, and 11–12 December 2018.
The youth teams of the clubs that qualified for the group stage also participated in the 2018–19 UEFA Youth League on the same matchdays, where they competed in the UEFA Champions League Path (the youth domestic champions of the top 32 associations competed in a separate Domestic Champions Path until the play-offs).
A total of fifteen national associations were represented in the group stage. TSG Hoffenheim, Red Star Belgrade (1991 European champions) and Young Boys made their debut appearances in the group stage (although Red Star Belgrade had appeared in the European Cup group stage).
* Tiebreakers
* Teams were ranked according to points (3 points for a win, 1 point for a draw, 0 points for a loss), and if tied on points, the following tiebreaking criteria were applied, in the order given, to determine the rankings (Regulations Articles 17.01):
* Points in head-to-head matches among tied teams;
* Goal difference in head-to-head matches among tied teams;
* Goals scored in head-to-head matches among tied teams;
* Away goals scored in head-to-head matches among tied teams;
* If more than two teams were tied, and after applying all head-to-head criteria above, a subset of teams were still tied, all head-to-head criteria above was reapplied exclusively to this subset of teams;
* Goal difference in all group matches;
* Goals scored in all group matches;
* Away goals scored in all group matches;
* Wins in all group matches;
* Away wins in all group matches;
* Disciplinary points (red card = 3 points, yellow card = 1 point, expulsion for two yellow cards in one match = 3 points);
* UEFA club coefficient.

### Group A

| Pos | Teamvte | Pld | W | D | L | GF | GA | GD | Pts | Qualification | DOR | ATM | BRU | MON |
| 1 | Borussia Dortmund | 6 | 4 | 1 | 1 | 10 | 2 | +8 | 13 | Advance to knockout phase | — | 4–0 | 0–0 | 3–0 |
| 2 | Atlético Madrid | 6 | 4 | 1 | 1 | 9 | 6 | +3 | 13 | Advance to knockout phase | 2–0 | — | 3–1 | 2–0 |
| 3 | Club Brugge | 6 | 1 | 3 | 2 | 6 | 5 | +1 | 6 | Transfer to Europa League | 0–1 | 0–0 | — | 1–1 |
| 4 | Monaco | 6 | 0 | 1 | 5 | 2 | 14 | −12 | 1 | | 0–2 | 1–2 | 0–4 | — |
* 1 2 Head-to-head goal difference: Borussia Dortmund +2, Atlético Madrid –2.

### Group B

| Pos | Teamvte | Pld | W | D | L | GF | GA | GD | Pts | Qualification | BAR | TOT | INT | PSV |
| 1 | Barcelona | 6 | 4 | 2 | 0 | 14 | 5 | +9 | 14 | Advance to knockout phase | — | 1–1 | 2–0 | 4–0 |
| 2 | Tottenham Hotspur | 6 | 2 | 2 | 2 | 9 | 10 | −1 | 8 | Advance to knockout phase | 2–4 | — | 1–0 | 2–1 |
| 3 | Inter Milan | 6 | 2 | 2 | 2 | 6 | 7 | −1 | 8 | Transfer to Europa League | 1–1 | 2–1 | — | 1–1 |
| 4 | PSV Eindhoven | 6 | 0 | 2 | 4 | 6 | 13 | −7 | 2 | | 1–2 | 2–2 | 1–2 | — |
* 1 2 Head-to-head away goals: Tottenham Hotspur 1, Inter Milan 0.

### Group C

| Pos | Teamvte | Pld | W | D | L | GF | GA | GD | Pts | Qualification | PAR | LIV | NAP | RSB |
| 1 | Paris Saint-Germain | 6 | 3 | 2 | 1 | 17 | 9 | +8 | 11 | Advance to knockout phase | — | 2–1 | 2–2 | 6–1 |
| 2 | Liverpool | 6 | 3 | 0 | 3 | 9 | 7 | +2 | 9 | Advance to knockout phase | 3–2 | — | 1–0 | 4–0 |
| 3 | Napoli | 6 | 2 | 3 | 1 | 7 | 5 | +2 | 9 | Transfer to Europa League | 1–1 | 1–0 | — | 3–1 |
| 4 | Red Star Belgrade | 6 | 1 | 1 | 4 | 5 | 17 | −12 | 4 | | 1–4 | 2–0 | 0–0 | — |
* 1 2 Goals in all group matches: Liverpool 9, Napoli 7.

### Group D

| Pos | Teamvte | Pld | W | D | L | GF | GA | GD | Pts | Qualification | POR | SCH | GAL | LMO |
| 1 | Porto | 6 | 5 | 1 | 0 | 15 | 6 | +9 | 16 | Advance to knockout phase | — | 3–1 | 1–0 | 4–1 |
| 2 | Schalke 04 | 6 | 3 | 2 | 1 | 6 | 4 | +2 | 11 | Advance to knockout phase | 1–1 | — | 2–0 | 1–0 |
| 3 | Galatasaray | 6 | 1 | 1 | 4 | 5 | 8 | −3 | 4 | Transfer to Europa League | 2–3 | 0–0 | — | 3–0 |
| 4 | Lokomotiv Moscow | 6 | 1 | 0 | 5 | 4 | 12 | −8 | 3 | | 1–3 | 0–1 | 2–0 | — |

### Group E

| Pos | Teamvte | Pld | W | D | L | GF | GA | GD | Pts | Qualification | BAY | AJX | BEN | AEK |
| 1 | Bayern Munich | 6 | 4 | 2 | 0 | 15 | 5 | +10 | 14 | Advance to knockout phase | — | 1–1 | 5–1 | 2–0 |
| 2 | Ajax | 6 | 3 | 3 | 0 | 11 | 5 | +6 | 12 | Advance to knockout phase | 3–3 | — | 1–0 | 3–0 |
| 3 | Benfica | 6 | 2 | 1 | 3 | 6 | 11 | −5 | 7 | Transfer to Europa League | 0–2 | 1–1 | — | 1–0 |
| 4 | AEK Athens | 6 | 0 | 0 | 6 | 2 | 13 | −11 | 0 | | 0–2 | 0–2 | 2–3 | — |

### Group F

| Pos | Teamvte | Pld | W | D | L | GF | GA | GD | Pts | Qualification | MCI | LYO | SHK | HOF |
| 1 | Manchester City | 6 | 4 | 1 | 1 | 16 | 6 | +10 | 13 | Advance to knockout phase | — | 1–2 | 6–0 | 2–1 |
| 2 | Lyon | 6 | 1 | 5 | 0 | 12 | 11 | +1 | 8 | Advance to knockout phase | 2–2 | — | 2–2 | 2–2 |
| 3 | Shakhtar Donetsk | 6 | 1 | 3 | 2 | 8 | 16 | −8 | 6 | Transfer to Europa League | 0–3 | 1–1 | — | 2–2 |
| 4 | TSG Hoffenheim | 6 | 0 | 3 | 3 | 11 | 14 | −3 | 3 | | 1–2 | 3–3 | 2–3 | — |

### Group G

| Pos | Teamvte | Pld | W | D | L | GF | GA | GD | Pts | Qualification | RMA | ROM | PLZ | CSKA |
| 1 | Real Madrid | 6 | 4 | 0 | 2 | 12 | 5 | +7 | 12 | Advance to knockout phase | — | 3–0 | 2–1 | 0–3 |
| 2 | Roma | 6 | 3 | 0 | 3 | 11 | 8 | +3 | 9 | Advance to knockout phase | 0–2 | — | 5–0 | 3–0 |
| 3 | Viktoria Plzeň | 6 | 2 | 1 | 3 | 7 | 16 | −9 | 7 | Transfer to Europa League | 0–5 | 2–1 | — | 2–2 |
| 4 | CSKA Moscow | 6 | 2 | 1 | 3 | 8 | 9 | −1 | 7 | | 1–0 | 1–2 | 1–2 | — |
* 1 2 Head-to-head points: Viktoria Plzeň 4, CSKA Moscow 1.

### Group H

| Pos | Teamvte | Pld | W | D | L | GF | GA | GD | Pts | Qualification | JUV | MUN | VAL | YB |
| 1 | Juventus | 6 | 4 | 0 | 2 | 9 | 4 | +5 | 12 | Advance to knockout phase | — | 1–2 | 1–0 | 3–0 |
| 2 | Manchester United | 6 | 3 | 1 | 2 | 7 | 4 | +3 | 10 | Advance to knockout phase | 0–1 | — | 0–0 | 1–0 |
| 3 | Valencia | 6 | 2 | 2 | 2 | 6 | 6 | 0 | 8 | Transfer to Europa League | 0–2 | 2–1 | — | 3–1 |
| 4 | Young Boys | 6 | 1 | 1 | 4 | 4 | 12 | −8 | 4 | | 2–1 | 0–3 | 1–1 | — |

## Knockout phase

In the knockout phase, teams played against each other over two legs on a home-and-away basis, except for the one-match final.
The mechanism of the draws for each round was as follows:
* In the draw for the round of 16, the eight group winners were seeded, and the eight group runners-up were unseeded. The seeded teams were drawn against the unseeded teams, with the seeded teams hosting the second leg. Teams from the same group or the same association cannot be drawn against each other.
* In the draws for the quarter-finals onwards, there were no seedings, and teams from the same group or the same association could be drawn against each other. As the draws for the quarter-finals and semi-finals were held together before the quarter-finals were played, the identity of the quarter-final winners was not known at the time of the semi-final draw. A draw was also held to determine which semi-final winner was designated as the "home" team for the final (for administrative purposes as it was played at a neutral venue).

### Bracket

| Round of 16 | Round of 16 | Round of 16 | Round of 16 | Round of 16 | Quarter-finals | Quarter-finals | Quarter-finals | Quarter-finals | Quarter-finals | | Semi-finals | Semi-finals | Semi-finals | Semi-finals | Semi-finals | Final | Final | Final |
| Tottenham Hotspur | Tottenham Hotspur | 3 | 1 | 4 | | | | | | | | | | | | | | |
| Borussia Dortmund | Borussia Dortmund | 0 | 0 | 0 | | | | | | | | | | | | | | |
| Borussia Dortmund | Borussia Dortmund | 0 | 0 | 0 | Tottenham Hotspur (a) | Tottenham Hotspur (a) | 1 | 3 | 4 | | | | | | | | | |
| | | | | | Manchester City | Manchester City | 0 | 4 | 4 | | | | | | | | | |
| Schalke 04 | Schalke 04 | 2 | 0 | 2 | Manchester City | Manchester City | 0 | 4 | 4 | | | | | | | | | |
| Manchester City | Manchester City | 3 | 7 | 10 | | | | | | | | | | | | | | |
| Manchester City | Manchester City | 3 | 7 | 10 | | Tottenham Hotspur (a) | Tottenham Hotspur (a) | 0 | 3 | | 3 | | | | | | | |
| | | | | | | Tottenham Hotspur (a) | Tottenham Hotspur (a) | 0 | 3 | | Ajax | Ajax | 1 | 2 | 3 | | | |
| Ajax | Ajax | 1 | 4 | 5 | | | | | | | Ajax | Ajax | 1 | 2 | 3 | | | |
| Real Madrid | Real Madrid | 2 | 1 | 3 | | | | | | | | | | | | | | |
| Real Madrid | Real Madrid | 2 | 1 | 3 | Ajax | Ajax | 1 | 2 | 3 | | | | | | | | | |
| | | | | | Juventus | Juventus | 1 | 1 | 2 | | | | | | | | | |
| Atlético Madrid | Atlético Madrid | 2 | 0 | 2 | Juventus | | 1 | 1 | 2 | | | | | | | | | |
| Atlético Madrid | Atlético Madrid | 2 | 0 | 2 | | | 1 June – Madrid | | | | | | | | |
| Juventus | Juventus | 0 | 3 | 3 | | | 1 June – Madrid | | | | | | | | |
| Juventus | Juventus | 0 | 3 | 3 | | | Tottenham Hotspur | 0 | | | | | | | |
| | | | | | | | Tottenham Hotspur | 0 | | | | | | | | Liverpool | Liverpool | 2 |
| Manchester United (a) | Manchester United (a) | 0 | 3 | 3 | | | | | | | | | | | | Liverpool | Liverpool | 2 |
| Paris Saint-Germain | Paris Saint-Germain | 2 | 1 | 3 | | | | | | | | | | | |
| Paris Saint-Germain | Paris Saint-Germain | 2 | 1 | 3 | Manchester United | Manchester United | | 0 | 0 | | | | | | | 0 |
| | | | | | Barcelona | Barcelona | | 1 | 3 | 4 | | | | | | |
| Lyon | Lyon | 0 | 1 | 1 | Barcelona | Barcelona | | 1 | 3 | 4 | | | | | | |
| Barcelona | Barcelona | 0 | 5 | 5 | | | | | | | | | | | | |
| Barcelona | Barcelona | 0 | 5 | 5 | | Barcelona | Barcelona | 3 | 0 | 3 | | | | | | |
| | | | | | | Barcelona | | 3 | 0 | | Liverpool | Liverpool | 0 | 4 | 4 | | | |
| Liverpool | Liverpool | 0 | 3 | 3 | | | | | | | Liverpool | Liverpool | 0 | 4 | 4 | | | |
| Bayern Munich | Bayern Munich | 0 | 1 | 1 | | | | | | | | | | | | | |
| Bayern Munich | Bayern Munich | 0 | 1 | 1 | Liverpool | Liverpool | 2 | 4 | 6 | | | | | | | | | |
| | | | | | Porto | Porto | 0 | 1 | 1 | | | | | | | | | |
| Roma | Roma | 2 | 1 | 3 | Porto | Porto | 0 | 1 | 1 | | | | | | | | | |
| Porto (a.e.t.) | Porto (a.e.t.) | 1 | 3 | 4 | | | | | | | | | | | |

### Round of 16

The draw for the round of 16 was held on 17 December 2018. The first legs were played on 12, 13, 19 and 20 February, and the second legs were played on 5, 6, 12 and 13 March 2019.
| Team 1 | Agg. Tooltip Aggregate score | Team 2 | 1st leg | 2nd leg |
| Schalke 04 | 2–10 | Manchester City | 2–3 | 0–7 |
| Atlético Madrid | 2–3 | Juventus | 2–0 | 0–3 |
| Manchester United | 3–3 (a) | Paris Saint-Germain | 0–2 | 3–1 |
| Tottenham Hotspur | 4–0 | Borussia Dortmund | 3–0 | 1–0 |
| Lyon | 1–5 | Barcelona | 0–0 | 1–5 |
| Roma | 3–4 | Porto | 2–1 | 1–3 (a.e.t.) |
| Ajax | 5–3 | Real Madrid | 1–2 | 4–1 |
| Liverpool | 3–1 | Bayern Munich | 0–0 | 3–1 |

### Quarter-finals

The draw for the quarter-finals was held on 15 March 2019. The first legs were played on 9 and 10 April, and the second legs were played on 16 and 17 April 2019.
| Team 1 | Agg. Tooltip Aggregate score | Team 2 | 1st leg | 2nd leg |
| Ajax | 3–2 | Juventus | 1–1 | 2–1 |
| Liverpool | 6–1 | Porto | 2–0 | 4–1 |
| Tottenham Hotspur | 4–4 (a) | Manchester City | 1–0 | 3–4 |
| Manchester United | 0–4 | Barcelona | 0–1 | 0–3 |
* ↑ Order of legs reversed after original draw, in order to avoid a scheduling conflict with the Manchester City v Tottenham Hotspur match in the same city.

### Semi-finals

The draw for the semi-finals was held on 15 March 2019 (after the quarter-final draw). The first legs were played on 30 April and 1 May, and the second legs were played on 7 and 8 May 2019.
Liverpool staged an improbable 4–0 comeback win against Barcelona in a return leg fixture at Anfield, having lost the first leg to the Spanish side 3–0 at the Camp Nou. Meanwhile, Ajax were winning 3–0 on aggregate by the 54th minute of the second leg against Tottenham Hotspur, yet Spurs made a similarly dramatic comeback; with Ajax seconds away from the final, Lucas Moura completed his hat-trick in the 96th minute to seal the tie on the away goals rule. Both semifinals are considered among the greatest Champions League comebacks of all time.
| Team 1 | Agg. Tooltip Aggregate score | Team 2 | 1st leg | 2nd leg |
| Tottenham Hotspur | 3–3 (a) | Ajax | 0–1 | 3–2 |
| Barcelona | 3–4 | Liverpool | 3–0 | 0–4 |

### Final

The final was played on 1 June 2019 at the Estadio Metropolitano in Madrid. The nominal home team (for administrative purposes) was determined by an additional draw held after the quarter-final and semi-final draws.

## Statistics

Statistics exclude qualifying rounds and play-off round.

### Top goalscorers

| Rank | Player | Team | Goals | Minutes played |
| 1 | Lionel Messi | Barcelona | 12 | 837 |
| 2 | Robert Lewandowski | Bayern Munich | 8 | 714 |
| 3 | Sergio Agüero | Manchester City | 6 | 510 |
| 3 | Cristiano Ronaldo | Juventus | 6 | 749 |
| 3 | Moussa Marega | Porto | 6 | 840 |
| 3 | Dušan Tadić | Ajax | 6 | 1080 |
| 7 | Andrej Kramarić | TSG Hoffenheim | 5 | 481 |
| 7 | Paulo Dybala | Juventus | 5 | 518 |
| 7 | Neymar | Paris Saint-Germain | 5 | 532 |
| 7 | Edin Džeko | Roma | 5 | 570 |
| 7 | Lucas Moura | Tottenham Hotspur | 5 | 725 |
| 7 | Harry Kane | Tottenham Hotspur | 5 | 778 |
| 7 | Raheem Sterling | Manchester City | 5 | 871 |
| 7 | Mohamed Salah | Liverpool | 5 | 1058 |

### Top assists

| Rank | Player | Team | Assists | Minutes played |
| 1 | Leroy Sané | Manchester City | 5 | 395 |
| 1 | Luis Suárez | Barcelona | 5 | 900 |
| 1 | Jordi Alba | Barcelona | 5 | 990 |
| 1 | Dušan Tadić | Ajax | 5 | 1080 |
| 5 | Kevin De Bruyne | Manchester City | 4 | 247 |
| 5 | Riyad Mahrez | Manchester City | 4 | 388 |
| 5 | Carlos Soler | Valencia | 4 | 390 |
| 5 | Edin Džeko | Roma | 4 | 570 |
| 5 | Kylian Mbappé | Paris Saint-Germain | 4 | 701 |
| 5 | Trent Alexander-Arnold | Liverpool | 4 | 921 |

### Squad of the season

On 2 June 2019, the UEFA technical study group selected the following 20 players as the squad of the tournament.
| Pos. | Player | Team |
| GK | Alisson | Liverpool |
| GK | Marc-André ter Stegen | Barcelona |
| DF | Trent Alexander-Arnold | Liverpool |
| DF | Virgil van Dijk | Liverpool |
| DF | Andrew Robertson | Liverpool |
| DF | Matthijs de Ligt | Ajax |
| DF | Jan Vertonghen | Tottenham Hotspur |
| MF | Kevin De Bruyne | Manchester City |
| MF | Moussa Sissoko | Tottenham Hotspur |
| MF | Hakim Ziyech | Ajax |
| MF | Frenkie de Jong | Ajax |
| MF | Tanguy Ndombele | Lyon |
| MF | Georginio Wijnaldum | Liverpool |
| MF | David Neres | Ajax |
| MF | Raheem Sterling | Manchester City |
| FW | Lucas Moura | Tottenham Hotspur |
| FW | Dušan Tadić | Ajax |
| FW | Lionel Messi | Barcelona |
| FW | Cristiano Ronaldo | Juventus |
| FW | Sadio Mané | Liverpool |

### Players of the season

Votes were cast for players of the season by coaches of the 32 teams in the group stage, together with 55 journalists selected by the European Sports Media (ESM) group, representing each of UEFA's member associations. The coaches were not allowed to vote for players from their own teams. Jury members selected their top three players, with the first receiving five points, the second three and the third one. The shortlist of the top three players was announced on 8 August 2019. The award winners were announced and presented during the 2019–20 UEFA Champions League group stage draw in Monaco on 29 August 2019.