Lionel Messi continued his return to goalscoring form after netting twice against Sevilla on Sunday, with a fine solo run and finish to put Barça in front midway through the first-half.
The hosts were then thankful to a number of saves from Enaut Zubikarai to prevent Barcelona extending their lead on the night, but the Basques got some recompense for their efforts three minutes from time when Antoine Griezmann thumped Chory Castro's low cross past Jose Manuel Pinto.
Barça boss Gerardo Martino was happy to have reached his first major final since taking charge at the start of the season, but said it was far too early to judge who will be favourites to lift the trophy come April.
"There were three objectives this year and we have managed to make the final in one of them. Now we have to try and win it, but we have complied with the demands until now," he said.
"It is a long way away, it is a Clasico so it always has special importance. Madrid winning last night made it even more important for us not to miss this special date.
"But it is hard to make a judgement because the final is still two months away. There are loads of important games between now and then for both teams and we don't know how both sides will get there in terms of form, confidence or injuries."
Martino showed he wasn't prepared to rest on last week's 2-0 win in the first leg at the Camp Nou as he named a strong side and the visitors managed to take the sting out of the game early on by dominating possession without overly threatening the Sociedad goal.
- Zubikarai made amends -
However, after Zubikarai had parried a long-range effort from Dani Alves, the 'keeper would have been disappointed to see Messi's low strike squeeze under his outstretched arm and trundle into the net.
Zubikarai quickly made amends, though, as he denied Pedro Rodriguez from close range.
At the other end Carlos Vela had Sociedad's best chance of the first half, but, after knocking the ball past Pinto, Dani Alves was on hand to clear off the line.
Barcelona continued to look the more likely to score after the break as Andres Iniesta fired just wide from the edge of the area before Zubikarai made a brilliant double save to deny Messi and Cesc Fabregas.
Sociedad did though have clearer sights of goal themselves in the second period and Vela was unlucky to see his sensational curling effort come back off the underside of the bar.
Zubikarai came to Sociedad's rescue again 15 minutes from time when he blocked Alves's shot after the Brazilian had been played clean through on goal.
And the 'keeper's heroics were rewarded with at least a draw on the night for his side when Griezmann finished off a fine team move involving Sergio Canales and Castro to register his 17th goal of the season.