Alfred Finnbogason opened the scoring in the 13th minute and Markel Bergara and Carlos Vela added their names to the scoresheet after the interval to seal the points for David Moyes’ side, who had failed to record a victory in their previous six matches.
The result lifted Sociedad up a spot to 11th in the Primera Division standings, and left Levante 15th – just six points above the relegation zone – with three matches remaining.
The hosts began well and went close with the first opportunity six minutes in, but Mexico international Vela was caught offside when he collected Xabi Prieto’s through-ball.
Levante responded with a chance of their own two minutes later as Nabil El Zhar set up Jose Mari, who was unfortunate to send his effort wide from the edge of the area.
The visitors tried their luck again soon after as January signing Jose Mari picked out Tono, but the 25-year-old defender’s shot was blocked.
Sociedad soon took control of the game, though, as Finnbogason put them in front after 13 minutes. The 26-year-old Iceland striker pounced on Yuri Berchiche’s cross to fire the ball into the back of the net with a close-range finish for his fourth goal of the season.
Midway through the first half, Finnbogason almost doubled his side’s lead but was caught offside when clear after picking up Prieto’s pass.
El Zhar appeared close to a leveller as the half wore on but failed to connect with Simao’s high inswinging corner, while – down at the other end – Esteban Granero tried but failed to net Socidad’s second, lashing over the bar from 18 yards.
Levante pressed again before the break but Ivan Lopez failed to bury Jose Luis Morales’ cross.
The visitors started the second half strongly, Ivan Ramis’ header going close to restoring parity three minutes after the restart before Tono set up Jose Mari, whose attempt from the centre of the area was blocked.
But, against the run of play, it was Sociedad who were next celebrating. Their second goal of game arrived in the 51st minute when defensive midfielder Bergara’s header found the bottom corner thanks to Ruben Pardo’s assist.
Levante coach Lucas Alcaraz made a double substitution five minutes later, bringing on David Barral and Victor Camarasa for El Zhar and Simao as he looked to add more firepower.
The away side scrambled to pull one back with Jose Mari firing over and Barral’s header also high of the target as they tried in vain to get something from the game.
Tono also saw a long-range effort blocked as the half progressed, before Vela sealed the three points for Moyes’ men by lashing into the top corner with less than five minutes remaining.
Levante still pushed forward in the dying minutes, including five minutes of stoppage time, but the hosts comfortably held on.