Liverpool failed to find the perfect performance Jurgen Klopp had demanded as they crashed out of the Champions League to ensure they will finish a traumatic season without silverware.
The intensity, aggression, and defensive discipline so badly missing in the first leg of their quarter-final with Real Madrid were evident in the second leg at Anfield - but, crucially, not the clinical finishing they needed to overturn a 3-1 deficit.
Klopp's men were left to reflect on several missed chances that had they taken would have put them through to an all-English semi-final against Chelsea.
The best of them came after only two minutes when Mo Salah somehow failed to steer a simple shot past Thibaut Courtois.
Had Salah scored then Liverpool would have fancied themselves to add to their long list of famous comebacks.
But that miss set the tone for a frustrating night and in the end, they went out to a team who showed all their European know-how to grind out a goalless draw and go through 3-1 on aggregate.
Fans may not have been allowed into the stadium but there were plenty of them outside to greet the team coaches. Liverpool issued a rapid apology after the Real bus was damaged by missiles - a repeat of the incident when Manchester City's team bus was attacked before the 2018 quarter-final.
Liverpool dominated from the start and could have been home and hosed by half-time but spurned golden opportunities at the beginning and end of the first period.
Leading scorer Salah was surprisingly the culprit for two of them. After only two minutes he squandered the sort of chance he would score in his sleep when he fired straight at Courtois after being set up by Sadio Mane and the former Chelsea keeper saved with his legs.
Five minutes before the break Salah lifted a shot over the bar after again being set up by Mane. Moments late Georginio Wijnaldum missed an almost identical chance after a cut back by Trent Alexander-Arnold.
Early on, James Milner's curling effort was heading for the top corner before being tipped over by Courtois. But Real weathered the early storm with a spell of possession football and threatened twice themselves. Karim Benzema's shot deflected off Ozan Kabak's shin and hit the post and seconds later Vinicius Junior's powerful shot forced a stop by Alisson.
Milner had underlined Liverpool's determination to be more aggressive than the first leg by crunching the top of Benzema's foot in the first minute.
And the game flared up when Casemiro, upset by a challenge by compatriot Fabinho moments earlier, took out his anger with a scything tackle on Milner to earn himself a booking. Robertson was booked for getting involved in the ensuing fracas.
Alexander-Arnold delivered one of his trademark crosses to the far post where Mane just failed to convert but by half-time, Liverpool would have been encouraged by the chances they had created - even if they had failed to convert them.
Liverpool had to maintain their first-half intensity and they came close to making the breakthrough in the first minute of the second half with Courtois saving Firmino's close-range shot after another fine pass from Alexander-Arnold. Firmino then headed wide from another Alexander-Arnold cross.
But Real were always a threat on the break and Milner got back brilliantly to intercept Mendy's cut back with Benzema waiting to pounce. Vinicius burst through the Liverpool defence to latch on to Valverde's pass but Alisson was quick off his line to block the shot.
Klopp made a double substitution just before the hour mark in a bid to make the breakthrough. Thiago and Diogo Jota came on for Milner and Kabak with Fabinho dropping into the back four.
Salah squandered another opening when he took too many touches and when he finally got his shot off it was blocked. The frustration continued when Firmino's shot on the turn was blocked by Eder Militao and Jota's shot deflected into the side netting.
Klopp made two more changes with Alex Oxlade-Chamberlain and Xherdan Shaqiri thrown on but it was just not Liverpool's night and Real should have piled on the frustration when Benzema headed over a simple chance from Militao's cross.
Alisson 6; Alexander-Arnold 8, Phillips 7, Kabak 6 (Jota 60, 6), Robertson 7; Milner 7 (Thiago 60, 6), Fabinho 6, Wijnaldum 7; Salah 7, Firmino 6 (Shaqiri 82, 5), Mane 7 (Oxlade-Chamberlain 81, 5).
Adrian, Harvey-Davies, Keita, Tsimikas, B. Davies, R. Williams, Cain, Clarkson.
Courtois 8, Valverde 6, Nacho 7, Militao 8, Mendy 6; Kroos 6 (Odriozola 72, 5), Casemiro 7, Modric 6; Asensio 5 (Isco 82, 5), Benzema 6, Vinicius Jr 5 (Rodrygo 72, 5).
Lunin, Altube, Marcelo, Mariano, Marvin, Arribas, Chust.
Bjorn Kuipers (Holland).