Los Verdiblancos have taken a major leap up the table after a string of saves from Pau Lopez helped the home side over the line in Seville.
Quique Setién’s side have now moved up six places to tenth, and will stay there at least until Levante host Athletic Club on Monday evening.
Junior Firpo’s calmly taken finish after finding acres of space at the back post after a front post flick on from William Carvalho was enough to make the difference.
Despite the goal, the game offered few opportunities in the first half and the trend continued into the second half.
Theo Hernández made a couple of surging runs forward but on more than one occasion, failed to find a man in the middle.
On the one occasion Hernández found Sandro Ramírez in the box, his driven shot from point-blank range was brilliantly denied by Lopez’s outstretched right foot.
Lopez also stopped one of the 23-year-olds first half strikes and Sandro later cut a frustrated figure as he continued to be denied.
Betis started the brighter of the two sides, but lacked creativity. Creativity that the suspended Sergio Canales usually supplies. His presence was sorely missed.
After the break, Sociedad made several changes – introducing Mikel Merino, Juanmi and Adnan Januzaj in an attempt to get back into the game but their efforts were in vain.
One positive for Asier Garitano however, was 22-year-old debutant Robin Le Normand at centre back who was as comfortable as they come and didn’t put a foot wrong all game
Despite the defeat, the Basque club remain in ninth.
The main issue for Setien would be Andrés Guardado’s apparent muscle injury. The 32-year-old missed most of October from a hamstring problem so this would be a concern.
Betis have now secured a first league win at home for the first time since their 1-0 victory over Leganes in late-September.
Next up in La Liga for Los Verdiblancos is another home tie against Rayo Vallecano on December 9th.
Real Betis: (3-5-1-1) Lopez; Mandu, Bartra, Sidnei; Francis, Lo Celso, Carvalho, Guardado (Boudebouz, 19), Junior; Joaquin (Tello, 67); Loren (Garcia, 85). Unused subs: Robles, Feddal, Inui, Sanabria.
Real Sociedad: (4-2-3-1) Moya; Gorosabel, Le Normand, Moreno, Hernandez; Illarramendi, Zubeldia (Januzaj, 75), Oyarzabal (Juanmi 70), Zurutuza (Merino, 60), Sandro; Willian Jose. Unused subs: Rulli, Zaldua, Rodrigues, Pardo.
Goal: Junior Firpo (1-0, 33).
Cards: (Yellows: Lo Celso, Junior, Theo Hernandez, Mandi, Carvalho, Willian Jose).
Stadium: Estadio Benito Villamarin (46,562 attendance).