It wasn’t just that Manchester City had led by two goals with 90 minutes on the clock, a place in the Champions League final against Liverpool basically theirs – although that was plainly the greatest, deepest agony.
It was not even that this semi-final should have long since been over. After the first leg, which City had dominated. Or before Real’s stoppage-time magic, in which the substitute, Rodrygo, cast the spells, scoring two scarcely believable goals to force extra time.
The City substitute, Jack Grealish, had seen a shot miraculously hacked off the line by Ferland Mendy in the 87th minute and then watched Thibaut Courtois stick out a toe to divert a shot from him just past the far post.
It was the way that the footballing gods, with whom Real Madrid appear to have a deal with options, tormented them. Rodrygo had almost completed a stoppage-time hat-trick at the end of normal time, stealing in to extend Ederson, when Phil Foden received a quick free-kick and saw glory beckon. His shot flew high.
On into extra time and there was a measure of inevitability about how Real got the next goal, not to mention the identity of the scorer. It was a tired challenge by Rúben Dias on Karim Benzema, who had nipped on to a Rodrygo cross – in front of the City defender – and everybody knew what would happen next. No panenka this time. Benzema slotted low into Ederson’s left-hand corner.
The tie had been spiky from start to finish and how the Bernabéu crowd howled when Pep Guardiola, their black beast from his Barcelona days, remonstrated with the officials as the City dream headed towards dust.
Did they have anything left? Foden drew a fine save out of Courtois with a header at the end of the first period of extra time but that was it. They could do no more.
And so Real advance, breathlessly, into a repeat of the 2018 final – in which they beat Liverpool – their sights set on a fifth triumph in this competition in eight seasons.
They have defied logic in the past but surely never as much as they have done this season. They were largely outplayed by Paris Saint-Germain and Chelsea in the previous rounds only to find a way to get through and here, it was no exaggeration to say that they did not create a clear cut chance until Rodrygo turned home Benzema’s cross to cancel out Riyad Mahrez’s rocket on the night. Rodrygo’s second – the dagger to City hearts – was an excellent header from a Dani Carvajal cross.
City’s pain knew no bounds. They have fallen short in the past under Guardiola in the competition that they want more than any other but never quite like this. The wounds will remain open for a very long time.
It had been possible to forget that City did actually win the first leg, what with the angst over the missed chances – at least half a dozen big ones; the feeling that the single-goal cushion represented a booby prize. Or a trap.
Guardiola had to have reminded his players how much better than Real they had been in Manchester and yet this was always going to be about how they handled the occasion. The pre-match confidence in Madrid had been ludicrously high. Ditto the sense of theater.
“Another magical night from the kings of Europe,” trumpeted the pre-match typhoon, above an image of Benzema mocked up as an emperor. It is all a part of the show, all a part of what City had to tame.
It was edgy, the passions simmering. When Casemiro set down an early marker with a scissors-style tackle on Kevin De Bruyne, it led to a confrontation between players from both teams, some push and shove between Luka Modric and Aymeric Laporte, the latter riskily putting his hand in the Real midfielder’s do. Both were booked. Casemiro surprisingly was not and he got away with another one in the 33rd minute when he dragged down Foden.
City were determined to take the sting out of the occasion, to stroke the ball about, but the home crowd were in no mood to ease up on the whistling. They were deeply unimpressed at how Ederson seemed to take longer than usual over his goal-kicks. Or whenever a City player went down.
It was a tremendous atmosphere and the decibel level would have risen if Benzema had done better with an early header, when he was free. However the flag did go up for offside. The striker also lifted high after a Federico Valverde cut-back. Vinícius Júnior was similarly wasteful with a first-half sighting. And that was about it for Real before the interval, City holding firm at the back, limiting them to scraps.
Vinicius offered himself on the left, although this time City had Kyle Walker, back from injury, to counter him. Nobody beats Walker in a foot race. Vinicius wanted a foul for a nudge by Walker as they chased a ball over the top but it was wishful thinking. There was also a perfectly timed slide tackle by the full-back on Vinicius inside the area on 40 minutes.
It was the visitors who had the clearer first-half chances. De Bruyne released Bernardo Silva with a lovely pass and he went for the near top corner – with power – to draw a smart save out of Courtois. De Bruyne also teed up Gabriel Jesus, who swiped narrowly wide, while there was a sweet hit on the volley by Foden from 25 yards that worked Courtois. There would be frustration when Riyad Mahrez overhit a pass for breaking De Bruyne in the 45th minute.
Carlo Ancelotti, fresh from completing his European grand slam of league titles, having secured La Liga at the weekend, started Modric in the No 10 role, giving him plenty of scope to roam. The manager offered him the platform. How he craved a moment from Modric.
The tension crackled, the crowd surged whenever Real did. Vinicius fluffed an opportunity at the far post straight after the second-half restart, although again the flag went up, and Modric did not summon the power in a shot after good work by Vinicius. Benzema also narrowly failed to play in Vinícius.
City started to wonder if it would matter if they couldn’t score. As long as they continued to get bodies around the ball, to maintain their defensive discipline, they would advance.
Walker was a symbol of their fight. In his first game for three weeks, it appeared that he would have to go off on the hour after feeling pain only to return. He would eventually be forced off after taking another bang.
City thought they had done enough when Walker’s replacement, Oleksandr Zinchenko, combined with another substitute, Ilkay Gündogan, to set Silva away for the assist for Mahrez. They were wrong.