Guardiola's much-changed team secured a vital win against the Basque side despite missing a host of chances in the first half
Goals from Cristian Tello and Lionel Messi had given the home side a 2-0 lead in the second half, but a well-taken goal from Carlos Vela in the latter stages of the game meant Pep Guardiola's side endured a tense finish as Sociedad threw men forward in search of a draw.
Both sides missed opportunities in the opening exchanges, with first Bravo and then Victor Valdes being forced into making smart saves to keep out efforts from Lionel Messi and Diego Ifran respectively.
Tello broke the deadlock after nine minutes with a cool finish under Bravo after Messi had made amends for his earlier miss by playing a wonderfully weighted ball through to his younger team-mate.
The Sociedad keeper was again on hand to thwart Messi just minutes after Tello's opener when he saved well from the Argentine after he had raced on to a neat Cesc Fabregas pass.
A combination of profligate finishing and good goalkeeping kept the score at just 1-0 in the first half.
Early in the second period another good save from Valdes stopped Antoine Griezmann from making the scores level after the Frenchman burst past Javier Mascherano.
The match became more competitive in the second period as Sociedad's midfielder began to get on the ball more and create some goalscoring opportunities.
However Barcelona nearly went further ahead when Isaac Cuenca shot against the bar with an effort that Tello followed up on and struck an effort towards goal that would have made it 2-0 if Dani Alves had not got a touch from an offside position.
After missing a series of chances in the opening 70 minutes Messi eventually gave Barcelona a two-goal cushion with a well-taken half volley after a fine pass from Dani Alves.
However, Sociedad substitute Vela set up an exciting finale when he reduced the deficit just minutes later, slotting confidently under Valdes and into the back of the net after being found by a decent pass from Griezmann.
The home side withstood a series of late attacks from Sociedad to hold out for their win, but the joy at the three points will have been tarnished slightly by a potentially serious injury sustained by Sergio Busquets late on in the game.
Barcelona's win cuts Real Madrid's lead at the top of La Liga back to seven points while Guardiola's choice of resting the likes of Alexis, Xavi, Sergio Busquets and Gerard Pique ensures his key players will be fresh ahead of their important Copa del Rey tie against Valencia on Wednesday. Sociedad remain in 13th place in La Liga following this defeat.