Được chơi trên sân nhà Bernabeu, Real Madrid tự tin khi tái đấu Sociedad nhờ chiến thắng 1-0 ở bán kết lượt đi. HLV Ancelotti không sử dụng Mbappe từ đầu mà trao cơ hội cho các ngôi sao tấn công như Rodrygo, Vinicius, Endrick còn Bellingham đảm nhận việc dẫn dắt lối chơi.
Đội khách Sociedad nhập cuộc tốt hơn và phút 16, Barrenetxea đã có một pha thoát xuống nhanh rồi dứt điểm chính xác qua hai chân Lunin, mở tỷ số cho Sociedad. Tuy nhiên, Real Madrid nhanh chóng lấy lại thế trận và ở phút 30, sau pha kiến tạo ngẫu hứng của Vinicius, Endrick giúp Real Madrid gỡ hòa 1-1.

Bước sang hiệp 2, hai đội đã thi đấu đầy cống hiến. Kịch tính bắt đầu từ phút 72 khi David Alaba đá phản lưới nhà sau đường căng ngang của Marin bên phía Sociedad giúp đội khách dẫn 2-1.Bất ngờ tiếp tục đến ở phút 80, Oyarzabal chọc thủng lưới Lunin để nâng tỷ số lên thành 3-1 cho đội khách.
Trong thời điểm then chốt, Real Madrid đã chứng minh được bản lĩnh của mình. Bellingham và Tchouameni liên tục ghi bàn ở các phút 82 và 86, đưa trận đấu trở về thế quân bình 3-3.
Đến phút 90+3, Oyarzabal nâng tỷ số lên thành 4-3 cho Sociedad và đây là kết quả của trận bán kết lượt về. Hòa 4-4 sau hai trận, Real Madrid và Sociedad phải kéo nhau vào hiệp phụ.
Ở hiệp phụ, Real Madrid là đội vượt trội hơn về thể lực. Phút 115, Arda Guler kiến tạo để trung vệ Rudiger đánh đầu nâng tỷ số lên 5-4 cho Real Madrid sau hai lượt trận. Bàn thắng quyết định này đưa Real Madrid vào chung kết Cúp Nhà vua năm nay.
Đối thủ của Real Madrid ở chung kết là đội thắng giữa cặp đấu Barcelona và Atletico diễn ra vào sáng 3/4. Ở trận bán kết lượt đi, hai đội bóng này đã hòa nhau 4-4.
Đội hình thi đấu
Real Madrid: Lunin, Vazquez, Asencio, Alaba, Camavinga, Valverde, Tchouameni, Bellingham, Rodrygo, Vinicius, Endrick.
Bàn thắng: Endrick (30'), Bellingham (82'), Tchouameni (86'), Rudiger (115').
Real Sociedad: Remiro, Munoz, Aguerd, Zubeldia, Aramburu, Zubimendi, Marin, Susic, Barrenetxea, Kubo, Oyarzabal.
Bàn thắng: Barrenetxea (16'), Alaba (phản lưới nhà 72'), Oyarzabal (80', 90'+3)