With Lionel Messi sitting out the tie with a slight injury, it was Frenkie de Jong who continued his strong recent form with the opening goal in the first half.
De Jong conceded the penalty that allowed Mikel Oyarzabal to equalise, though, and it was Sociedad who threatened most as the game entered extra time, with Marc-Andre ter Stegen in strong form and substitute Adnan Januzaj hitting the post with a free-kick.
Ter Stegen proved pivotal in the shoot-out, making two saves, before Riqui Puig buried his spot-kick to send Barca through.
The Germany international made a fine one-on-one save to deny Alexander Isak as La Real looked by far the more threatening in the early exchanges.
Barca seemed to settle after 25 minutes and twice came close through Martin Braithwaite, while Ousmane Dembele was menacing Nacho Monreal down the right.
The Catalans’ growing pressure told six minutes before half-time, Antoine Griezmann clipping a cross towards De Jong, who reacted well to steer a header past Alex Remiro.
But De Jong handed Sociedad an equaliser 51 minutes in, his handball allowing Oyarzabal to send Ter Stegen the wrong way from the spot. Continue reading