Angel Correa doubled the hosts’ lead with a first-time finish following Luis Suarez’ excellent through ball.
Igor Zubeldia scored late on for Sociedad but Atletico held on to win.
Atletico will win the Spanish title for the 11th time in their history if they win both their last two matches.
They play at home against 11th-placed Osasuna on Sunday, 16 May before ending the campaign a week later away at a Real Valladolid side that are 18th and in the relegation zone.
Atletico are four points clear of second-placed Barcelona but city rivals Real Madrid are the biggest threat to Diego Simeone’s side.
They are five points behind Atletico but play their game in hand on Thursday when they face mid-table Granada away from home.
Real would also finish above Atletico if the two sides ended on the same points because of the head-to-head rule, meaning Atletico cannot afford to drop any points.
For Real Sociedad, who hit the post through Roberto Lopez before Zubeldia’s 83rd-minute goal, they remain fifth and in a Europa League qualification spot.
Fourth-placed Sevilla beat Valencia 1-0 earlier on Wednesday thanks to a goal from Youssef En-Nesyri, but Atletico’s subsequent victory means Sevilla can no longer become Spanish champions.
Barcelona’s title hopes suffered a big setback on Tuesday when they threw away a 2-0 lead against Levante before drawing 3-3.
“There are very few options for us to win the league now,” said Barca midfielder Sergio Busquets afterwards.