Marc-Andre ter Stegen saved twice from the spot to help Barcelona beat Real Betis 4-2 on penalties after a 2-2 draw on Thursday, setting up a Clasico Spanish Super Cup final.
The Catalans will face their bitter rivals Real Madrid on Sunday after Carlo Ancelotti's side beat Valencia on penalties on Wednesday. Barcelona needed spot-kicks to see off Betis after an entertaining draw over 120 minutes at Riyadh's King Fahd Stadium.
Robert Lewandowski put Barcelona ahead after 40 minutes but Betis playmaker Nabil Fekir levelled with 13 minutes remaining.
Ansu Fati smashed in a fine volley to put Barcelona ahead in extra-time but Loren Moron pulled Betis back level with a cunning backheel flick.
Ter Stegen denied Juanmi and William Carvalho in the shootout and Pedri converted the decisive spot-kick.
Barcelona have not won the Spanish Super Cup since the change to a four-team format, with the first Saudi Arabia edition taking place in 2020.
After finishing last season without a single trophy and investing heavily in the summer despite the club's debts, Xavi and his team are desperate for silverware, with Sunday their first opportunity to get their hands on some.