David Silva scored his first goal for Sociedad by heading home midway through the first half, while Spain forward Mikel Oyarzabal added the second soon after, following up his own shot which had come off the post.
Willian Jose further stretched the visitors' lead early in the second half, tapping in a cross from Cristian Portu, who had chased down Celta defender Jeison Murillo to win the ball back by the penalty area.
Iago Aspas scored for the struggling hosts from the penalty spot later on but Brazilian forward Willian Jose struck again soon after, rounding off another big win for Sociedad to ease the pain of Thursday's Europa League defeat to Napoli.
The victory took Sociedad top of the table on 17 points from eight games, one ahead of second-placed Real Madrid who have a game in hand. The Basques also lead the scoring charts with 17 goals, netting 14 times in the last four games.
Celta, who had defender Jose Fontan sent off in added time for a second booking, are 17th on six points.