Manchester City failed to reach their first Champions League final after an uninspiring semi-final second-leg display at 10-time winners Real Madrid.
After a goalless draw in the first leg, Real took the lead when Gareth Bale’s cross deflected off City’s Fernando.
Fernandinho clipped the post in a rare City chance, but Real dominated as Bale hit the bar and Joe Hart saved from Luka Modric and Cristiano Ronaldo.
Real saw out the win to meet Atletico Madrid in the final later this month.
The English side knew they potentially only needed one away goal to progress, but appeared reluctant to go for broke in the final stages – despite being encouraged to attack by the vocal 4,500 away supporters.
The home side’s only other moment of concern came in the closing minutes when Sergio Aguero’s speculative effort flew on to the roof of the goal.
Now they will meet Atletico at Milan’s San Siro on 28 May, in a repeat of the 2014 final which Real won 4-1 after extra-time.
City’s hopes hit by Kompany injury
City suffered a cruel blow inside the opening 10 minutes when skipper Kompany trudged off, a familiar sight this season.
The Belgium centre-half’s miserable luck with injuries continues, and the English visitors looked far less assured at the back without their leader.
His departure disrupted an encouraging start by the visitors – and they were punished shortly afterwards.
The away defence, still regrouping, stood off a Madrid attack down the right, allowing Bale to run behind them on to right-back Carvajal’s pass and thump the ball in off Fernando’s outstretched foot.
Hart rightly described the winner as “lucky”, but in truth City could have conceded more over the two legs.
At the Bernabeu, the home players – particularly Bale and the returning Ronaldo – often ghosted between centre-halves Eliaquim Mangala and Nicolas Otamendi too easily.
England keeper Hart, who saved City from losing the first leg, again came to the rescue to give City hope until the final whistle.
Man of the match – Toni Kroos