Hiệp 1 của trận đấu diễn ra chặt chẽ và có rất ít tình huống thật sự nguy hiểm được đôi bên tạo ra. Theo thống kê, Real chỉ có một cơ hội ở phút 18. Đó là tình huống mà Vinicius đưa bóng đi vọt xà. Ở chiều ngược lại, Man City tạo ra 4 cơ hội rõ rệt, trong đó có cú sút cận thành của Bernardo Silva ở phút 20 nhưng tất cả đều bị Thibaut Courtois cản phá.

Không có bàn thắng nào được ghi trong hiệp 1 và sang hiệp 2, Real bất ngờ đẩy cao đội hình tấn công ngay sau khi giao bóng. Đội chủ nhà có ngay cơ hội nguy hiểm nhưng Vinicius lại đệm bóng chệch cột dọc từ cự ly gần.

Do gặp vấn đề về thể lực nên Kyle Walker và Kevin De Bruyne được thay ra ở phút 72. Hai cầu thủ thế chỗ là Ilkay Gundogan và Oleksandr Zinchenko. Ngay sau khi vào sân, bộ đôi này đã tham gia vào một đợt phát động tấn công và giúp Man City có bàn mở tỷ số. Người tận dụng tốt cơ hội cuối cùng với pha dứt điểm trong vòng cấm hạ gục thủ môn Thibaut Courtois là Riyad Mahrez. Cách biệt sau hai lượt trận lúc này đã là 5-3 và Real cần tới hai bàn để gỡ hòa.

Tưởng chừng như Man City sẽ rời sân Santiago Bernabeu với niềm vui chiến thắng thì bị Real chọc thủng lưới hai lần vào các phút 90 và 90+1.

Rodrygo dứt điểm cận thành gỡ hòa 1-1 vào phút 90 và chính cầu thủ này đánh đầu nâng tỷ số lên 2-1 ngay sau đó.

Tỷ số sau hai lượt trận lúc này là 5-5 và đôi bên bước vào hai hiệp phụ. Phút 95, Ruben Dias đốn ngã Karim Benzema trong vòng cấm, Real được hưởng phạt đền và chính Karim Benzema là người thực hiện thành công, mang về chiến thắng 3-1 cho Real trong trận lượt về.

Chung cuộc, Real lội ngược dòng vượt qua Man City với tổng tỷ số 6-5 sau hai lượt trận và giành quyền vào chơi trận chung kết gặp Liverpool. Cuộc so tài giữa hai đội bóng này sẽ diễn ra trên sân Stade de France ở nước Pháp vào rạng sáng 29/5.