A comical own goal and Sergio Busquets' opener has put Gerardo Martino's men firmly in control of the Copa del Rey semi-final tie
Having watched on as Real completed a comprehensive 3-0 win over city rivals Atletico earlier in the evening, Barca were similarly impressive in their semi-final first leg.
Sergio Busquets' opener a minute before the break set them on their way to the victory, before a comical own goal from Sociedad goalkeeper Enaut Zubikarai put the Catalans in the driving seat ahead of the return clash.
Despite early pressure from Antoine Griezmann in particular, Sociedad never looked like ending their 23-year winless run at Barcelona.
Cesc Fabregas and Alexis Sanchez both missed opportunities from close-range for the hosts, while a Lionel Messi free-kick also hit the crossbar before the breakthrough eventually arrived from Busquets' tap-in.
Inigo Martinez’s red card near the end of the first half ensured that Jagoba Arrasate’s men were in for a tough second period, and they were the masters of their own downfall for Barca's second as Ion Ansotegi blasted the ball in off the hapless Zubikarai.
The 26-time Copa del Rey champions searched for a third goal towards the end and Dani Alves saw a headed effort go over, but the hosts cruised to victory nonetheless and will take a good lead into the second leg.
Coach Gerardo Martino was without Neymar once again due to his thigh injury, while new Real Sociedad signing Sergio Canales took a place on the bench.
The visitors' dynamic front two terrorised the Barcelona defence as early as the third minute when Carlos Vela latched on to Javier Mascherano’s failed clearance and teed up Griezmann on the edge of the area, but Jose Pinto punched his powerful half-volley away.
With 12 minutes on the clock, Fabregas wasted a glorious chance of his own as he hit Alves' low cross straight at Zubikarai four yards from goal, and from the resulting corner Sanchez somehow missed the target after pouncing on a rebound.
Messi went even closer when he struck the crossbar with a curling free-kick 37 minutes in, before Vela had a penalty claim turned down after being hauled down by Mascherano.
The half ended with controversy as Busquets turned in Pedro’s pass to give Barca the lead and during the celebrations Sociedad’s Martinez received a straight red card for dissent.
Barcelona’s pressure was unrelenting and they kept their visitors penned inside their own area for prolonged periods before finally doubling the lead on the hour.
After collecting Fabregas’ delightful throughball, Sanchez hit the post when on-on-one with Zubikarai and Sociedad looked to have escaped once again, but Ansotegi’s bizarre attempted clearance smashed against his goalkeeper and went in.
Martino’s men continued to press as they sought to put the tie completely beyond doubt and although Alves missed a headed opportunity late on, the win was never in doubt.