Real Madrid secured their position in the showpiece event courtesy of a 5-3 win over Atletico Madrid on Wednesday, and Barcelona set up a showdown with their biggest rivals by beating Osasuna by two goals, with Robert Lewandowski and Lamine Yamal on the scoresheet.
Barcelona are the most successful side in the history of this competition with 14 trophies, and they are also the reigning champions, beating Real Madrid in last year's final.
The game's first half-chance came for Barcelona in the eighth minute, but Ferran Torres could only bend his effort wide of the post, with Osasuna given an early let-off in the semi-final.
Jesus Areso had an opportunity down the other end shortly after, but his strike was just wide, before Lewandowski brought a smart save from Osasuna goalkeeper Sergio Herrera in the 13th minute.
Lewandowski came close again in the 31st minute, with the Poland international placing a header from an Ilkay Gundogan corner just wide of the post.
Osasuna continued to have their moments, with Ante Budimir dancing his way into the Barcelona box in the 38th minute before looking to beat Inaki Pena, but the Catalan outfit's goalkeeper made the save.
Raphinha had to be taken off in the latter stages of the first period, with the Brazil international being replaced by Yamal, but there was nothing of note in the final stages of the opening 45 minutes, and Osasuna would have been content with their first half of action in the semi-final.
Barcelona were knocking on the door at the start of the second period, though, and the breakthrough came in the 59th minute through Lewandowski, who picked out the corner with an excellent finish after being found by Gundogan.
There was a VAR check for a possible foul from Andreas Christensen in the build-up, but the goal was eventually cleared, with Xavi's side moving ahead in the last-four encounter.
Pedri made his injury return for Barcelona off the bench in the 61st minute, and he was joined by Joao Felix, who had a chance to double the Catalan team's lead in the 68th minute, but Herrera kept out the Portugal international's strike in the 68th minute of the contest.
Budimir had a half-chance to level the scores in the 78th minute, but his effort was saved by Pena, before Raul Garcia missed the target with a first-time shot in the 88th minute; Barcelona then secured the victory in the 93rd minute when Yamal picked out the back of the net after being found by fellow substitute Felix.
El Clasico will now take place on Sunday evening to determine whether Barcelona or Real Madrid are crowned the winners of the 2024 Spanish Super Cup.