The hosts came agonisingly close to taking the lead inside 20 minutes as they hit the woodwork twice in quick succession. Imanol Agirretxe was the first to do so, heading his effort against the post before Ion Ansotegi struck his shot against the crossbar.
Sociedad were left cursing their luck again just after the half-hour mark as Antoine Griezmann also hit the upright.
Despite coming so close so often, Sociedad found themselves behind at the start of the second half. Iago Aspas fed the ball to Enrique de Lucas, who made no mistake with his effort to make it 1-0 to Celta.
The lead lasted just five minutes, however, as Griezmann did well to set up Agirretxe, who finally opened the scoring for his side.
Sociedad completed the turnaround just past the hour mark, and again it was Agirretxe who was on hand to finish, giving his side their first win of the season in the process.