Vinicius Junior scored just before the hour with Real’s first attempt on goal and their goalkeeper Thibaut Courtois made several fine saves to deny Liverpool, who end the season with two domestic cups having also failed to win the Premier League.
In a battle of European heavyweights, Juergen Klopp’s side had more opportunities but lacked sharpness when it mattered as Carlo Ancelotti became the first coach to enjoy double Champions League success with two clubs having triumphed with AC Milan.
It was LaLiga title holders Real’s fourth Champions League crown in seven years as they improved their impressive record in the competition with their eighth victory in as many finals.
The final was to be played in St Petersburg but European soccer governing body UEFA relocated it to Paris after Russia’s invasion of Ukraine, which Moscow calls a ‘special operation’.
The game started after a 36-minute delay following incidents outside the stadium when fans were tear-gassed by riot police as people without tickets tried to force their way in.
Liverpool had won the previous European Cup final both teams had played in Paris, winning 1-0 at the Parc des Princes in 1981, which was Real’s last defeat in a final.
It was meant to be a different outcome this time with Liverpool slight favourites but they beat the Merseyside club for the second time in Paris after their 3-1 victory in 2018.
Liverpool pushed high looking to quickly feed their full backs and the pressure quickly became immense in the Real half.
Mo Salah was picked out by Trent Alexander-Arnold in the box but Courtois stretched to deny the Egyptian.
After another effort by Liverpool’s Thiago Alcantara, Sadio Mane came much closer when he ghosted past Eder Militao and Casemiro in the box before his fierce attempt was tipped onto the post by the excellent Courtois in the 21st minute.
Real were still waiting for their first shot after half an hour as Virgil van Dijk marshalled the Reds defence.
Liverpool, however, were not incisive enough in attack and Salah had another attempt with a header but it went straight at Courtois 10 minutes before the break.
Real’s only chance of the first half gave Liverpool a huge scare but Karim Benzema’s effort was ruled out after the Video Assistant Referee ruled that he was offside, being played in by Federico Valverde despite Fabinho’s deflection.
Liverpool were back at it early in the second half but Real soaked up the pressure until they struck in the 59th minute.
It started when Luka Modric turned away from Andrew Robertson to create space and ended with Valverde’s pinpoint driven pass across to the far post being turned in by Vinicius.
Courtois then dived to superbly tip Salah’s curled attempt away to keep Real ahead.
The Belgian keeper was impeccable again to deny Salah 10 minutes from time before his delighted team mates jumped into his arms to show their gratitude at the final whistle.