La semifinale di andata giocata in Germania è finita 2-2. In palio, un posto per la finalissima Wembley in programma il prossimo 1° giugno. Nella prima frazione di gioco è il Real a rendersi subito pericolosissimo: al 13′ Vinicius calcia col destro e colpisce il palo pieno, poi sulla ribattuta di Rodrygo. Neuer fa un miracolo e devia il destro del brasiliano. Nuovamente i blancos, che dimostrano superiorità in questo frangente, al 21′ ha l’occasione per sbloccare il match: Rodrygo salta l’uomo sulla sinistra e la mette in mezzo. Vinicius controlla male al centro. Al 23′ primo cambio per il Bayern. Fuori Gnabry per infortunio, dentro Davies. Al 27′ i tedeschi provano a far paura al club spagnolo con il solito Kane: calcia da fuori, ma Lunin devia la sfera in angolo con la punta delle dita. Ancora i Blancos al 38′. Cross super insidioso di Vinicius sulla sinistra, Neuer devia la sfera in angolo con la mano.
Nella ripresa, due volte il Real nei primi minuti. Prima il sinistro da fuori di Davies. Lunin lascia sfilare sopra la traversa. Successivamente al 54′ Rodrygo sfiora il palo alla sinistra di Neuer dopo una grande azione di Vinicius sulla fascia sinistra. Al 65′ i tedeschi si affacciano in avanti: con Lunin che devia in angolo un destro di Musiala. Al 67′ arriva il gran gol di Davies. Il Bayern passa in vantaggio con l’esterno canadese, subentrato a Gnabry, che calcia col destro dopo aver saltato l’uomo. AL 70′ però i blancos rispondono a tono e pareggiano: autorete di Davies, ma l’arbitro annulla tutto per via di un fallo di Nacho ai danni di Kimmich. Al 89′ però Joselu la riprende: su un’incertezza di Neuer il neoentrato ribadisce in rete. Di nuovo il Real dopo 2′ minuti dal pari: Joselu insacca in rete da pochi passi e spedisce il Real in finale.