Barcelona booked their place in the final of the Spanish Super Cup after overcoming the absence of injured Lionel Messi to beat Real Sociedad 3-2 in a penalty shootout following a 1-1 draw after extra time on Wednesday.
Barca midfielder Riqui Puig kept his cool to deceive keeper Alex Remiro and score the decisive fifth penalty, sending the Catalans into Sunday's final in Seville, after team mates Antoine Griezmann and Frenkie de Jong had squandered their spot-kicks.
Sociedad's Mikel Oyarzabal, Willian Jose and Jon Bautista had failed to score their kicks after the Basque side came close to finding a winning goal in a thrilling period of extra time following an unremarkable 90 minutes.
De Jong headed Barca in front in the 39th minute after nice link up play between Martin Braithwaite and Griezmann but the Dutchman committed a handball early in the second half and Sociedad's Oyarzabal levelled from the spot.
Holders Real Madrid meet Athletic Bilbao on Thursday in the other semi-final of the competition, which is being held across southern Spain after initial plans to play it in Saudi Arabia were wrecked by the coronavirus pandemic.
Messi missed Barca's warm-up session on the morning of the game due to thigh discomfort and Braithwaite took his place up front, while young central defender Oscar Mingueza came in at right back to deputise for Sergino Dest, who was not fully fit.
Sociedad, who made a blistering start to the La Liga season but have since faded, ran their hearts out to keep Barca at bay in a tight match before the game split in extra time, when both sides came close to finding a winner.
Griezmann volleyed straight at Remiro, while Ousmane Dembele was also thwarted by the keeper, while Barca's Marc-Andre ter Stegen produced two stunning saves to deny Joseba Zaldua and Adnan Januzaj.
Barca have won the Super Cup a record 13 times but lost to Atletico Madrid at the semi-final stage of last year's competition and coach Ernesto Valverde was sacked as a result, despite the team then sitting top of La Liga.