Real Madrid will take on capital rivals Atletico in a repeat of the 2014 Champions League final after beating Manchester City 1-0 at the Santiago Bernabeu.
Zinedine Zidane's men have a shot at claiming the club's 11th European crown at San Siro on May 28, having followed up last week's cagey goalless draw at the Etihad Stadium with a considerably more impressive showing in the semi-final second leg on Wednesday.
Madrid – boosted by Cristiano Ronaldo's return to fitness, but still without Karim Benzema – capitalised on yet another injury setback for City captain Vincent Kompany to take a first-half lead when Gareth Bale's delivery looped in off Fernando.
Manuel Pellegrini, seeking to ensure it was not his final European game at the helm, needed a response from his side in the second half, but saw City spend most of it on the back foot.
Sergio Aguero was kept quiet and Kevin De Bruyne, so key in the last-eight triumph over Paris Saint-Germain, was also uncharacteristically subdued on a night that promised so much and yet delivered so little for City, whose best run in the competition came to a grinding halt.
For Madrid, though, there will be an opportunity to again do battle with an Atletico team who are challenging them, and leaders Barcelona, for the Liga title as Diego Simeone's men seek revenge for their Lisbon heartache of two years ago.
City suffered an early blow when Kompany pulled up injured inside the opening 10 minutes, the captain forced off to be replaced by Eliaquim Mangala.
The visitors had to adapt quickly as Madrid pressed forward, the first chance falling to talisman Ronaldo, whose header from Dani Carvajal's searching cross comfortably cleared Joe Hart's crossbar.
But the England goalkeeper could do nothing when Bale's right-footed cross clipped Fernando's outstretched leg and sailed into the net via the far post in the 20th minute.
The visitors sought a quick response to quieten a jubilant home crowd, with Jesus Navas escaping down the right and firing in a low cross that Keylor Navas confidently claimed.
An offside flag denied Pepe, who thought he had turned in the second nine minutes before half-time when he got on the end Toni Kroos' set-piece delivery.
City still had time to fire a first-half warning shot as Fernandinho's powerful drive struck the base of the left-hand upright in the final minute of the opening period.
With City up against it, manager Pellegrini – a beaten semi-finalist with Villarreal in the 2005-06 edition of this competition – needed a response from his side, but there were ominous signs early in the second half.
Jese Rodriguez's lung-bursting run left City players trailing in his wake, only for a poor attempted cross to let the Spaniard down, while Hart brilliantly denied Luka Modric from close range and kept out Ronaldo's header all within 10 minutes of the restart.
Raheem Sterling was introduced from the bench for Yaya Toure as Pellegrini looked to increase City's attacking focus for the final 30 minutes, but it was Madrid who continued to look the more likely.
Bale hit the crossbar with a header and Ronaldo blatantly handled the ball into the net when the rebound was chipped back towards him.
City, needing only one goal to progress to the final, threw on Kelechi Iheanacho in the closing stages and had their spirits momentarily lifted when the otherwise anonymous Aguero sent a shot dipping narrowly over the target, but that was as close as they came.
A greater challenge surely awaits Madrid in Milan a little over three weeks from now, with Atletico – conquerors of Bayern Munich in the other semi-final – having taken four points of Zidane's side in the league this season.
Key Opta stats:
- Madrid have reached their 14th European Cup/Champions League final, a record in the competition.
- This will be the third time in the last four years that the Champions League final has been contested by teams from the same nation.
- Keylor Navas has kept 11 clean sheets in his 12 Champions League appearances, including all six at the Bernabeu.
- City have been eliminated by Spanish opposition for the third consecutive Champions League season.
- For the third season in a row, a manager has reached the Champions League final in his first season in the competition (Diego Simeone 2014, Luis Enrique 2015, Zinedine Zidane 2016).
- Madrid have equalled Arsenal's record from 2005-06 of keeping 10 clean sheets in a single Champions League campaign.