The result sees Barcelona regain their nine-point lead at the top of the table with five games of the season remaining, having had their advantage cut to six by Atletico Madrid's win over Eibar earlier in the day.
However, the champions-elect were below their best and a leggy display does not bode well ahead of next week's matches against Alaves and Levante, which could see them wrap up the title before the first leg of their Champions League showdown with Liverpool.
Ernesto Valverde opted to rest Sergio Busquets after the midweek win over Manchester United, but other big-hitters such as Lionel Messi, Luis Suarez and Gerard Pique were all involved at the start of a potentially decisive seven-day period for the champions.
However, despite the strength of the home side's XI it was a slow start to the match and the first meaningful shot did not arrive until the 27th minute, when Messi's free kick landed on the roof of the net with the keeper struggling to get there.
Even Messi was sending passes astray in a sloppy Barcelona performance, though, and they were fortunate not to fall behind nine minutes before half time when Sociedad created the first big chance of the contest.
Ruben Pardo clipped a pass into the box for Juanmi, who chested it down but was then thwarted by a sprawling Marc-Andre ter Stegen save before Willian Jose stabbed the rebound over the crossbar with the goal gaping.
It was a scare which seemed to jolt a pedestrian Barcelona into life, and Messi drew the first save from Geronimo Rulli moments later before playing his part in creating a chance for Suarez, whose low strike posed a sterner test for the Sociedad keeper.
The breakthrough did come with virtually the final action of the half when Ousmane Dembele swung a corner into the box for his compatriot Lenglet, who climbed highest in the middle to glance his header into the far corner.
It was not the type of goal usually associated with Barcelona, but nor was it the type of performance we are used to seeing from the treble-chasers and Sociedad came out quickly at the start of the second half too, with Pardo forcing Ter Stegen into a full-stretch save with a deflected drive.
Barca did begin to grow into the second half, though, and Dembele perhaps should have done better shortly before the hour mark when he curled narrowly wide of the target after being teed up by a combination of Messi and Arturo Vidal.
However, Sociedad levelled things up just four minutes later when Mikel Merino slid a defence-splitting pass into the box for Juanmi, who escaped his marker with good movement before turning his finish past Ter Stegen.
Parity lasted less than two minutes before Alba restored their advantage, though, collecting a pass from Messi before cutting inside and arrowing a right-footed effort into the far corner to leave Rulli no chance.
Barca had chances to wrap the points up with around 10 minutes remaining when first Ivan Rakitic could only pick out the side-netting following good work from Suarez, and then Vidal could not react in time to turn the ball home at the back post after Messi's free kick has been flicked on.
Neither the missed chances nor the all-round lethargic display proved costly as Barcelona saw out the win, though, leaving them needing only six points to wrap up a fourth title in five seasons - something they could achieve next weekend.
BARCELONA (4-3-3): Ter Stegen; Semedo, Pique, Lenglet, Alba; Vidal (Roberto 90'), Rakitic, Arthur (Busquets 56'); Messi, Suarez, Dembele (Coutinho 72')
REAL SOCIEDAD (4-3-3): Rulli; Zaldua, Elustondo, Llorente (Barrenetxea 87'), Munoz; Merino, Zubeldia (Sangalli 54'), Pardo; Oyarzabal, Willian Jose, Juanmi (Sandro 87')