Trailing 3-1 from last week’s first leg in Spain, the Reds applied heavy pressure to the visiting rearguard throughout in an attempt to reverse the deficit.
However, despite a series of chances, Liverpool were unable to make a breakthrough, meaning Real clinched qualification for the last four of the tournament.
Team news…
Liverpool made just one change from Saturday’s win over Aston Villa, with Sadio Mane coming in for Diogo Jota.
First half…
Anfield observed a minute’s silence ahead of kick-off to mark Thursday’s 32nd anniversary of the Hillsborough disaster, with Liverpool’s players also wearing black armbands in memory of the 96 supporters who lost their lives in the tragedy.
Once play got under way, the Reds made an energetic start as they set about trying to overturn the two-goal deficit in the tie.
Indeed, less than two minutes had elapsed when Ozan Kabak sprung a ball forward to Mane, who in turn cushioned it off to Mohamed Salah. However, his first-time sweep goalwards was thwarted by the boot of Thibaut Courtois.
The home team hemmed back their opponents in the opening exchanges, operating with intensity and forcing a series of early corners.
In the 11th minute, a slick interchange between Roberto Firmino and Salah created a shooting chance for James Milner 20 yards out. He attempted to bend the ball into the top corner, but was denied by the fingertips of Courtois.
Real demonstrated their considerable threat minutes later when Karim Benzema took possession from Nathaniel Phillips on the touchline and worked an opening on the edge of the box, which cannoned against the base of the near post. The visitors regained the ball and worked it to Vinicius Junior, whose strike was plucked out of the air by Alisson Becker.
The game was being contested at a relentless pace; a left-foot Trent Alexander-Arnold delivery was inches away from being turned in by Mane at the back post as Liverpool continued to probe.
As the interval loomed into view, Salah then hooked over the crossbar after Mane had slid the ball across the area into his path.
Then, on 42 minutes, the best opening of the evening so far fell the way of Georginio Wijnaldum; however, he could only hoist Alexander-Arnold’s pass over the bar from 12 yards out as the half concluded without an indent on the scoresheet.
Second half…
Liverpool’s intensity didn’t diminish during the break – and 45 seconds after the restart, Real needed another save from Courtois to prevent the hosts from reducing the arrears as the goalkeeper blocked a Firmino shot at close range.
The Brazilian then headed wide from an Alexander-Arnold delivery, but the Reds did survive a scare when Ferland Mendy attempted to square for Benzema across the six-yard box. Milner was able to clear, however.
Shortly before the hour mark, Thiago Alcantara and Jota were brought on, replacing Milner and Kabak.
With 66 on the clock and the game becoming increasingly stretched, Alisson produced a fine double save to deny first Vinicius Junior after he’d raced clear on the counter before blocking Benzema’s follow-up.
The chances continued to come at the other end, too. Most notably when Eder Militao flung himself in front of a Firmino shot and Jota had a drive deflected into the side-netting.
Benzema then headed into the ground and over when unmarked just before Firmino and Mane made way for Xherdan Shaqiri and Alex Oxlade-Chamberlain for the final 10 minutes.
The home side piled on the pressure in the final stages, and Courtois saved at the feet of Salah in stoppage time, but Real were able to hold on to clinch a goalless draw and with it, qualification for the semi-finals.