Real Betis Spanish midfielder Cristian Tello (R) vies with Barcelona s Spanish midfielder Riqui Puig during the Spanish League football match between FC Barcelona and Real Betis at the Camp Nou stadium in Barcelona on December 4, 2021. AFP
Striker Juanmi Jimenez finished off a well-orchestrated counterattack to take Betis' winner in the 79th minute at Camp Nou.
Barcelona had won twice and drawn once since Xavi took over as coach from Ronald Koeman. The defeat left the team in seventh place and in danger of falling even further behind leader Real Madrid, which played at Real Sociedad later.
Barcelona visits Bayern on Wednesday needing a win to ensure its place in the Champions League round of 16. Bayern, which is already qualified as the group winner, beat Barcelona 3-0 in their first meeting this season.
If it loses, Barcelona would need Benfica to not beat Dynamo Kyiv to avoid elimination.
Before kickoff, Barcelona player Alexia Putellas presented the 65,000-plus fans her Ballon d'Or for the world's best women's player.
Barcelona lost teen talent Gavi Paez in the 34th when he needed to be carted off after apparently feeling dizzy following the powerful impact of a ball to his head.
Manuel Pellegrini's Betis rose into third place, right behind crosstown rival Sevilla, which beat Villarreal 1-0 thanks to a goal from Lucas Ocampos.
Sevilla and Villareal also have key Champions League matches this week. Sevilla must win at Salzburg to move on, while Villarreal plays Atalanta needing a draw to advance.
(For more sports news and updates, follow Ahram Online Sports on Twitter at @AO_Sports and on Facebook at AhramOnlineSports.)