Bayern Munich were crowned European champions for the sixth time by beating Paris Saint-Germain 1-0 thanks to a second-half header from Kingsley Coman.
France international Coman, who started his career at PSG, was picked out at the back post to score the decisive goal in the 59th minute, as Bayern became the first team to lift the Champions League with a remarkable 100 per cent record.
Only Real Madrid (13) and AC Milan (7) have been crowned champions on more occasions.
The victory, deserved after a dogged display once Bayern got in front, secured a second treble for the Bavarians, after winning the Bundesliga and German Cup, and completed a remarkable first season for manager Hansi Flick.
Flick took over a struggling side in November, after a 5-1 hammering by Eintracht Frankfurt led to the sacking of Niko Kovac with the club fourth in the Bundesliga.
We take a look at the road to Champions League glory that Bayern have undertaken this season. And also how French side PSG reached their first ever final in Europe's premier club competition.
To move on to the next image in the galleries, click on the arrows, or if using a mobile device, simply swipe.
Gallery of PSG's run to the final
PSG'S ROAD TO THE FINAL: Group stage, September 18, 2019 - PSG 3 (Di María 14' & 33' Meunier 90'+1) Real Madrid 0: A stunning start to their campaign saw Angel di Maria score twice against his former club. PSG were without attacking superstars Neymar, Edinson Cavani and Kylian Mbappe and yet still ran out comfortable winners against Zinedine Zidane's side. Reuters
Group stage, October 1, 2019 - Galatasaray 0 PSG 1 (Icardi 52'): On loan striker Mauro Icardi scored his first goal for the club as PSG secured a hard-fought victory in Turkey. Two wins out of two Group A matches for the French club without conceding a goal. Getty
Group stage, October 22 - Clubs Brugge 0 PSG 5 (Icardi 7' & 63', Mbappé 61', 79' & 83'): French striker Kylian Mbappe blasted a second-half hat-trick after coming on as a substitute in Belgium as PSG maintained a fine start to their Euro campaign. Argentine attacker Icardi made it three goals in two Euro games and Thomas Tuchel's side were now just one point away from sealing their passage into the last-16. Getty
Group stage, November 6, 2019 - PSG 1 (Icardi 21') Club Brugge 0: A scrappy win for PSG that sealed their place in the knockout stages and maintained their 100 per cent record. Icardi made it eight goals in his first 10 Champions League games. AFP
Group stage, November 26, 2019 - Real Madrid 2 (Benzema 17' & 79') PSG 2 (Mbappe 81', Sarabia 83'): They might have lost their perfect start to the competition, but PSG showed they had plenty of fighting spirit at the Bernabeu. French attacker Karim Benzema had put Real in the driving seat and seemingly on the way to three points with his second goal 10 minutes from time. But Kylian Mbappe and Pablo Sarabia scored two in two minutes to stun the Spanish crowd. AFP
Group stage, December 11, 2019 - PSG 5 (Icardi 32', Sarabia 35', Neymar 46', Mbappé 63', Cavani pen 84') Galatasaray 0: PSG signed off from the group stage with an unbeaten record after dismantling Galatasaray at Parc des Princes. Neymar scored his first Champions League goal of the season as all of PSG's attacking big guns found the target as they finished five points clear of Real Madrid at the top of Group A, scoring 17 times and conceding just two. AFP
Last-16 first leg, February 18, 2020 - Borussia Dortmund 2 (Haaland 69' & 77') PSG 1 (Neymar 75'): PSG found themselves up against one of the form players in Europe in Erling Braut Haaland and the 19-year-old Norwegian made it 11 goals in seven matches since joining the German club in January. But Neymar's strike that briefly brought the teams level meant PSG were set-up nicely for the second leg. Getty
Last-16 second leg, February 18 - PSG 2 (Neymar 28', Bernat 45'+1) Borussia Dortmund 0. Aggregate 2-1. A superb result for PSG played out in front an empty Parc des Princes as the coronavirus pandemic began to take its grip on the world. A rare Neymar header put the French club ahead before Juan Bernat scored what turned out to be the winner in first-half injury time. Getty
Quarter-final, August 12, 2020 - Atalanta 1 (Pasalic 27') PSG 2 (Marquinhos 90', Choupo-Moting 90'+3): It looked like the Champions League curse was set to hit PSG again six months after their last Euro match due to the Covid-19 enforced hiatus, as the in-form Italians led through Mario Pasalic with only injury-time remaining in Lisbon. But goals from Marquinhos and Eric Maxim Choupo-Moting earned PSG a last-gasp victory and a semi-final spot for the first time in 25 years. AFP
Semi-final, August 18, 2020 - RB Leipzig 0 PSG 3 (Marquinhos 13', Di María 42', Bernat 58'): PSG sealed a place in their first Champions League final with a deserved victory over their German opponents. Marquinhos, Angel di Maria and Juan Bernat all found the target to kill-off the Bundesliga side with more than half an hour still remaining. AFP