Athletic Bilbao arrive in the capital knowing a victory would give them a huge chance of returning to Europe's premier competition for the first time since 2014.
Ernesto Valverde's Athletic, defeated in their six previous appearances in the final, brought an era of almosts to a close with a hard-fought win.
Disappointment for Barca was compounded by the sight of a visibly upset Ansu Fati going off injured in the second half of normal time at San Mames
Luka Modric's curling finish towards the end of the first half and Karim Benzema's strike early in the second sealed the win for Real Madrid
Sixteen-year-old Fabrice Olinga made history on Saturday when he became the youngest ever player to score in La Liga, grabbing the only goal as Malaga clinched a 1-0 victory at promoted Celta Vigo.