Bayern, il cuore non basta. La squadra di Jupp Heynckes ce l'ha messa tutta per ribaltare la sconfitta dell'andata (Bayern-Real 1-2), ma non è bastato. A Madrid finisce 2-2 una partita equilibrata che ha visto i bavaresi comunque più intraprendenti nel corso dei novanta minuti. Inizio shock per il Real: il Bayern va subito in vantaggio con Kimmich al 3', bravo a insaccare da due passi la porta difesa da Navas dopo la respinta corta di Sergio Ramos. Il vantaggio tedesco dura meno di dieci minuti: all'11' Benzema colpisce di testa in maniera vincente sfruttando al meglio un traversone di Marcelo. Il Bayern continua a fare la partita e il Real ad agire in contropiede, ma non arrivano altre reti: il primo tempo si chiude 1-1.
Nella ripresa i blancos partono a mille: Tolisso serve all'indietro per Ulreich che però liscia il retropassaggio, Benzema ne approfitta e la mette dentro. In vantaggio di 2-1 il Real si chiude. Al 54' clamorosa occasione per Ronaldo: traversone al bacio di Marcelo, ma CR7 conclude al volo alto a due passi dalla porta avversaria. Forcing pazzesco dei bavaresi che trovano il gol al 62': conclusione dalla distanza dell'ex madridista James Rodriguez, Varane si oppone, ma il colombiano si avventa sul pallone e infila Navas. 2-2 Bayern a mezz'ora dalla fine. Quando mancano 20 minuti alla fine, inizia la giostra dei cambi per il Real Madrid e Zidane sostituisce l'autore della doppietta Benzema con Bale per sfruttare la velocità del gallese in contropiede. Al 79' super parata di Navas su colpo di testa di Muller su cross di Alaba. Il Real si difende con le unghie fino al fischio finale dell'arbitro Cakir. Il Real Madrid vola Kiev per la sua terza finale consecutiva di Champions League, la sedicesima della sua storia. Il Bayern esce a testa dal Bernabeu, eliminato dai blancos in Champions League per il secondo anno di fila.