The Catalan outfit were 1-0 ahead at the interval courtesy of Robert Lewandowski's close-range finish, but Real Betis levelled in the 77th minute through Nabil Fekir, which forced extra-time.
Ansu Fati put Barcelona back ahead in the 93rd minute, but Loren Moron then equalised for Manuel Pellegrini's side, with penalties being needed to determine which side would advance to the final.
Barcelona scored all four of their efforts through Lewandowski, Franck Kessie, Fati and Pedri, while Real Betis missed two through Juanmi and William Carvalho, allowing Xavi's side to win on penalties.
Xavi has said that there were both positives and negatives to take from the semi-final in Saudi Arabia.
"Real Betis played very well, but we could have decided the match earlier. I'm happy to have reached the final. We lost the ball too much. We still have to kill off matches. We didn't defend as well as we did vs Atleti," Xavi told reporters during his post-match press conference.
"I was very satisfied at half-time. After that, Betis dominated and we suffered. We should have killed it off in the first half.
"We have to be self-critical. The second half was poor, and it's not the way forward. We saw two faces from the team. Fantastic first half, and then we were not at the required level.
"We had two goals. The first one was to reach the final, which we did. The second one was to play well and kill the game early, which we didn't do."
Barcelona will take on Real Madrid in Sunday's final, with the latter beating Valencia on penalties in the competition's first semi-final.
"I'm excited for the final. I want to compete against the best, win against the best. Real Madrid is one of the best, and the final will be great," added the Barcelona head coach.
The Catalan outfit are the most successful side in the history of the Spanish Super Cup, having lifted the trophy on 13 occasions, one more than Real Madrid.