Ở trận đấu rạng sáng 16/4 đã rẽ theo kịch bản không ai ngờ. Thủ môn Manuel Neuer mắc sai lầm nghiêm trọng khi chuyền bóng thẳng vào chân Arda Güler. Từ khoảng cách gần 40m, tiền vệ trẻ Thổ Nhĩ Kỳ lập tức sút vào khung thành bỏ trống, mở tỷ số chỉ sau 35 giây. Đây là một trong những bàn thắng nhanh nhất ở vòng knock-out Champions League mùa này, đồng thời đưa tổng tỷ số về thế cân bằng 2-2.
Nhưng Bayern nhanh chóng đáp trả sau đó 5 phút. Từ quả phạt góc của Joshua Kimmich bên trái, thủ môn Andriy Lunin xử lý lúng túng, không dứt khoát băng ra hay ở lại. Aleksandar Pavlovic tận dụng thời cơ, đánh đầu vào lưới trống ở cự ly gần, tái lập lợi thế dẫn 3-2 cho chủ nhà.

Thế trận sau đó diễn ra với tốc độ chóng mặt. Bayern Munich kiểm soát bóng vượt trội, nhưng Real Madrid luôn tiềm ẩn nguy hiểm với những pha phản công dựa trên tốc độ của Vinicius và Kylian Mbappe. Phút 29, Guler tiếp tục tỏa sáng với một siêu phẩm đá phạt từ khoảng gần 30m. Cú cứa lòng chân trái đưa bóng găm thẳng vào góc cao, dù Neuer chạm tay vẫn không thể cứu thua. Cú đúp của Guler khiến Allianz Arena chết lặng, giúp Real gỡ hòa 3-3.
Phút 38, Bayern Munich tạo ra tiếp bữa tiệc bàn thắng khi nâng tổng tỷ số lên 4-3. Dayot Upamecano bất ngờ dâng cao, kéo bóng xuyên qua tuyến giữa Real trước khi chuyền cho Harry Kane trong cấm địa. Tiền đạo người Anh khống chế gọn gàng rồi cứa lòng về góc xa, ghi bàn thứ 50 của anh trên mọi đấu trường mùa này. Đây cũng là trận thứ năm liên tiếp Kane ghi dấu giày vào bàn thắng trước Real Madrid tại Champions League.
Tuy nhiên, hiệp 1 chưa dừng lại ở đó. Phút 43, Real Madrid một lần nữa vượt lên. Vinicius thoát xuống bên cánh trái rồi chuyền ngang dọn cỗ cho Mbappe. Trong thế đối mặt, tiền đạo người Pháp sút chìm hạ gục Neuer, gỡ hòa 4-4.
Hiệp 2 tiếp tục duy trì nhịp độ cao, Bayern Munich giữ bóng nhiều hơn (kết thúc trận với 68%), liên tục dồn ép, nhưng Real mới là đội tạo ra những cơ hội rõ ràng hơn từ phản công. Phút 54, Mbappe suýt nâng tỷ số khi đón đường chuyền dài của Trent Alexander-Arnold, nhưng cú vô-lê cận thành của anh bị Neuer dùng một tay cản phá.

Ở chiều ngược lại, Bayern cũng bỏ lỡ cơ hội đáng tiếc. Upamecano 2 lần đánh đầu trong tư thế trống trải từ các tình huống cố định nhưng đều đưa bóng đi chệch khung thành. Phút 87, Eduardo Camavinga sau khi vào sân từ ghế dự bị nhận thẻ vàng thứ hai vì phạm lỗi với Kane, rồi đá bóng đi nhằm câu giờ. Trọng tài Slavko Vincic không do dự rút thẻ đỏ, đẩy Real vào thế thiếu người trong những phút cuối.
Chỉ 2 phút sau, Bayern tận dụng lợi thế hơn người để ghi bàn quyết định. Phút 89, Jamal Musiala xử lý tinh tế, chuyền bóng cho Luis Diaz ở rìa trái vòng cấm địa. Tiền đạo người Colombia ngoặt bóng rồi sút chân phải. Bóng khẽ chạm chân Eder Militao đổi hướng, bay vào góc xa khiến Lunin bó tay đưa Bayern dẫn 5-4.
Chưa dừng lại, đúng ở pha bóng cuối cùng, Bayern Munich ấn định chiến thắng 6-4. Trong khi Real Madrid dâng cao tìm bàn gỡ, đội chủ nhà phản công nhanh. Harry Kane kiến tạo để Michael Olise cắt vào trung lộ từ cánh phải, rồi cứa lòng chân trái tuyệt đẹp vào góc xa tầm cao. Cả 3 "ngôi sao" trên hàng công chủ nhà đều ghi bàn trận này.