Chelsea's counter-attacking masterclass was too good for an out of sorts Manchester City in Porto as Kai Havertz's 42nd-minute goal won the Champions League for Thomas Tuchel's team.
Here are the player ratings...
Ederson - 6
Couldn't be blamed for Havertz's goal but the incident could very well have ended with a red card for the City goalkeeper given he half-blocked the ball with his arm when outside of his penalty area.
Kyle Walker - 7
Decent. Surging run almost created a great chance for Mahrez early on but that foray forward was the exception rather than the rule until the very final exchanges. Like with City as a whole, a case of too little, too late.
John Stones - 6
Looked nervy and was badly out of position for Chelsea's winning goal. A spectator in the main for the second half on a night to forget.
Ruben Dias - 6
Made a couple of crucial blocks but while not at fault for Chelsea's goal was dragged out of his central berth by Werner's intelligent run
Oleksandr Zinchenko - 4
Poor. Had made a critical tackle to deny Havertz early on, but his defending - which was barely that - for Chelsea's winner was utterly feeble. Mount's pass may well have been exquisite but Zinchenko was slow to recognise the danger and even slower in pursuit of Havertz as the Chelsea forward ran through on goal.
Ilkay Gundogan - 4
Deployed at the base of City's midfield as Pep Guardiola opted, for only the second time all season, to deploy neither Rodri nor Fernandinho from the start. Inexplicably fortunate not to be booked for a penalised shirt pull on Foden, didn't look at ease at any stage having been belatedly cautioned for a high tackle on Foden after half an hour. The contrast with Kante couldn't have been more stark.
- Man City 0-1 Chelsea - Match report
- How the teams lined up in Porto | Match stats
- Man City's summer transfer plans analysed
Bernardo Silva - 3
What was the plan here? An inside-right when City built from the back and a pivot of sorts when Chelsea had the ball, Bernardo was stuck stubbornly on the fringes in both circumstances, offering neither protection nor penetration. Finally replaced after 60 ineffective minutes as Guardiola effectively owned up to his critical selection error.
Riyad Mahrez - 5
Hugged the touchline as City tried to stretch Chelsea's five-man defence but was shackled effectively by Chilwell and failed to influence proceedings. Could he have done more to get into the game? Could City not at least have tried Sterling and Mahrez on opposite flanks? Given that Guardiola ended the match with two more centre-forwards than he had started with, it was odd that he didn't rotate his wingers.
Raheem Sterling - 4
Lost his battle to the impressive Reece James but it could have been different: Sterling twice had the run on the Chelsea wing-back through on goal only for a poor touch to lose the moment. Sterling's form since the turn of the year has been average at best and the case for inclusion as a starter this summer for England looks shakey if not sunk.
Phil Foden - 5
Disappointing. Denied by an outstanding tackle by Rudiger in the first half but that was about it for meaningful moments. Did the Guardiola team selection help? Only in the final 15 minutes did Foden go to the left, from where he has typically been at his most influential this season.
Kevin de Bruyne - 6
A sad and painful end to another sumptuous season. Left the field in tears and a brutal shiner after being pole-axed by Rudiger. In truth, De Bruyne hadn't been at his best beforehand, but a persistent curiosity this season has been that the most effective midfielder in the Premier League has so rarely actually played in midfield. The season's final act proved little different with De Bruyne positioned mostly as a false nine before his unfortunate early exit.
Gabriel Jesus - 6
On for the injured De Bruyne and added plenty of energy but not a cutting edge.
Fernandinho - 6
Should have started.
Sergio Aguero - 5
Not given long enough to make a difference.
Edouard Mendy - 7
Recovered from his injury scare to take his starting place in goal, Mendy could never relax, smothering an early Sterling opportunity. And yet, the Chelsea goalkeeper might have expected to be busier. Incredibly, he faced only one shot on target.
Cesar Azpilicueta - 9
The experienced defender was always likely to be a key component of Tuchel's team, it just remained to be seen what role he would occupy. Azpilicueta found himself back in the middle of a three-man defence and was his diligent self. Brilliant clearance midway through the second half.
Thiago Silva - 7
Making back-to-back Champions League final appearances with different clubs, his evening ended early because of a groin problem picked up late in the first half. A calming influence at the back, he was a more frenzied figure watching on from the stands.
Antonio Rudiger - 8
Seemingly surplus to requirements at the start of the season, Rudiger is a key man now. Never more so than when producing a fantastic block to stop Foden finding the net from close range just before half-hour mark.
Reece James - 8
The youngster has been used in a number of different positions of late but it was wing-back here, a difficult assignment against Sterling and the rest. Tested early on, he grew into the game after a warning and even managed to support the attacks as the game wore on. The night of his life.
- Chelsea's summer transfer plans analysed
- Get Sky Sports | Get a Sky Sports Pass
- Live football on Sky Sports
Jorginho - 8
Holding midfield duties fell to Chelsea's pass master, an unenviable task when swamped by City's attacking midfielders. Jorginho was up to it, his expert touch enabling his team to keep the ball just enough and play out of the opposition press.
N'Golo Kante - 9
Looking to add a Champions League win to his collection, Kante showed no sign of the injury that hampered his preparations for this game, full of energy as ever. Able to join the attacks, he even headed wide from close range. So quick to break things up. Outstanding.
Ben Chilwell - 9
Fought off competition from Marcos Alonso for the left wing-back slot and proved his worth when racing back to intercept an early Sterling cross. Chilwell is at his best offensively, though, and provided a crucial outlet for Chelsea throughout. Kept Mahrez remarkably quiet.
Mason Mount - 8
Perhaps the first name on the Chelsea team sheet for the biggest game of his life, Mount was the catalyst for the decisive moment of the first half. It was his penetrative pass that found Havertz for the opening goal.
Timo Werner - 7
Werner continues to have so many chances but that ball just will not go in the net. Wasteful again, this time operating centrally with a view to capitalising on the space behind the City defence. Missed his kick with his first chance and found Ederson with his second. Ever willing. Subbed for Pulisic.
Kai Havertz - 9
Chelsea's Champions League hero. A season that brought struggles at the start ends in glory with the winner in Porto. Havertz was impressive throughout, setting up Werner for the first chance of the game. He started from the right but caused problems everywhere by roaming inside. Broke superbly in the second half to set up Pulisic for what would have been Chelsea's second.
Andreas Christensen - 8
The Danish defender enjoyed a fine run in the team earlier in the season but stepping into a game of this magnitude must still have been daunting. Christensen was up to the challenge, settling in seamlessly at the heart of Chelsea's back line. Block in the 90th minute was huge.
Christian Pulisic - 7
Brought on to add energy as Chelsea played on the counter-attack more than ever once one goal ahead and might well have doubled that lead. Raced clear down the right channel but his attempt to dink the ball over Ederson saw him pull the shot wide of the far post.
Mateo Kovacic - 6
A conservative move by Tuchel as he withdrew Mount in favour of the more defensively-minded player, opting for a three-man midfield for the final 10 minutes.
What's next? Euros, transfer window, 2021/22 key dates
Euro 2020 kicks off on Friday June 11 - just 19 days after the conclusion of the 2020/21 Premier League season - and runs until Sunday July 11.
The 2021/22 Premier League campaign will start on the weekend of Saturday August 14 - 34 days after that Euro 2020 final at Wembley.
Clubs will be able to start planning for the new term when the top-flight fixtures are released at 9am on Wednesday, June 16 but transfer business can start in earnest before then, with the summer transfer window opening on Wednesday June 9.
- 2021/22 season - all the key dates
- 2021/22 fixture release dates
- Summer transfer window 2021 - what you need to know
- Premier League kits for 2021/22
- Euro 2020 - full fixtures and schedule
The 2021/22 Championship season begins a week before the top-flight one on the weekend of Saturday August 7. All Sky Bet EFL fixtures will be announced at 9am on Thursday June 24.