Real Madrid beat Barcelona at the King Fahd Stadium in the semi-final of the Supercopa de Espana.
Real Madrid came into the match in Saudi Arabia 17 points clear of their fiercest rivals in the league.
Barcelona had be hoping to save their flailing season.
Sitting sixth and have crashing out of the Champions League, this was a chance to turn things around with the help of debutant Ferran Torres, finally able to play after his move from Manchester City.
Barcelona hogged the ball from the off, but it was Real Madrid who were sharpening their cutting edge as Vinicius Jr started to run at the 38-year-old Alves.
He scored the opener after scorching through the Barcelona backline and latching onto a ball from Benzema. Barcelona finally woke up and started to press.
Their leveller came as they sprung from midfield. Luuk De Jong didn’t know much about it, but as Real Madrid tried to clear, the ball bounced off the striker and past a stranded Courtois.
With 20 minutes to go, Benzema rattled the post as Real Madrid continued to threaten on the break. The France striker got his goal shortly after after seeing his curlced shot recycled by Carvajal. But Barcelona clawed themselves back into it with a simple header from substitute Ansu Fati, forcing extra time.
Just minutes into extra time and Real Madrid again sprung a counterattack. Vinicius Jr was again central, selling the dummy that floored two defenders and allowed Valverde to slot home.
Barcelona continued to push and looked a much better team as the game climaxed. But just lacked a final goal to force penalties.
Real Madrid progress and will face either Athletic Madrid or Athletic Bilbao in Sunday’s final.