but they managed to keep a clean sheet in an open game with chances at both ends.
Two set-plays decided the game as Paulao headed Betis in front after 18 minutes from a corner before Ruben Castro, also with his head, added to the lead with 10 minutes to go from a Benat Etxebarria free-kick.
Sociedad found themselves up against an inspired Adrian San Miguel in the Betis goal who made expert stops from Carlos Vela and Mikel Gonzalez before the break.
Straight after the restart the home side were inches away from doubling their lead when Castro fired a volley which came back off the woodwork.
While Real continued to press forward, looking for their first points away from home this season, it was Betis who scored again through Castro.
However, Betis finished with 10 men when defender Pedro Mario was dismissed two minutes from the end for his second yellow card.
"Our position in the table doesn't matter at the moment, it is only the number of points that count," said Betis coach Pepe Mel. "I am very happy because we won a game with so many homegrown players in both sides, also for (the keeper) Adrian and for the connection that exists between the fans and the team."
Real Sociedad coach Philippe Montanier was left to rue the chances his side missed.
"When you have openings you have to take them and we lost a game due to our poor finishing," he said.
A second half Diego Castro penalty gave Getafe a 1-0 victory away to Zaragoza in a stormy game which featured three sendings off.
Zaragoza were left with an uphill battle after Koffi Romaric was shown red after just eight minutes and although they fought on valiantly their resistance finally broke with a 64th-minute spot-kick conceded by Alvaro Gonzalez, who was dismissed, and Castro made no mistake from 12 yards.
Abdelaziz Barrada was also red carded for the visitors seven minutes from the end.
Rayo Vallecano beat Deportivo la Coruna 2-1 with goals by Francisco Piti and Jose Carlos while Luis Miguel Pizzi pulled one back from the penalty spot.
Ten-man Espanyol picked up only their second point of the season after a 1-1 draw away to Valladolid.
Joan Verdu put them ahead from the penalty spot after 70 minutes, with Victor Alvarez having been sent off at the end of the first half, but Oscar Gonzalez equalised with nine minutes to go.
Real Madrid face Barcelona in El Clasico on Sunday where defeat would see them trail their bitter enemies by 11 points.
The Catalan side have won their first six league games but Madrid have hit form after a slow start and can count on a resurgent Cristiano Ronaldo who has scored hat-tricks in his last two games.