Real Madrid capitalised on slip-ups by their two main title rivals to open up a four-point lead at the top of La Liga.
Matea Kovacic's first-ever La Liga goal put Zinedine Zidane's men on their way to a 3-0 win over Real Sociedad that enabled them to bounce back from a humbling Copa del Rey exit at the hands of Celta Vigo.
Cristiano Ronaldo was also on target at the Bernabeu, for the 20th time for his club so far this season, and Alvaro Morata added the third as Real completed the double over Sociedad and frustrated their bid to move into the top four.
Real are now firmly on course for a first league title since 2012 and a 33rd overall.
Zidane's men, who have suffered just one La Liga defeat so far this season, to Sevilla on Jan. 15, have also progressed to the last 16 of the Champions League.
Sociedad, who went into the game having posted back-to-back league wins, finished the game with 10 men after Inigo Martinez was sent off on 74 minutes after being shown a second yellow card.
Luis Suarez prevented Barcelona's first La Liga defeat since Oct. 2 by equalising in the final minute of a controversial 1-1 draw at Real Betis.
Suarez pounced on an error by Betis substitute Nahuel Leiva to slot home his 16th league goal of the season after Alex Alegria had given Betis a 75th-minute lead.
But the main fall-out at the Estadio Benito Villamarin will surround the goal that never was. Barcelona were left cursing the absence of goal-line technology in Spanish football after Matteo Piccinini had appeared to put through his own net two minutes after Alegria's opener.
Aissa Mandy cleared from under -- and on to -- his own crossbar, but television replays clearly showed the ball had crossed the Betis goal-line.
Barcelona will feel they were robbed of victory in their title pursuit of Real Madrid and Sevilla, but a point was the least that Betis deserved for their efforts.
Sevilla could have provisionally moved into first place had they won at Espanyol, but they had to play nearly the entire game a man down as Nicolas Pareja was sent off in the second minute after committing a penalty in the 3-1 loss.
Jose Antonio Reyes converted the penalty to put the hosts ahead, and Gerard Moreno and Marc Navarro added goals for Espanyol after Sevilla equalised with Stevan Jovetic.
"The red card that early changed the game completely," Sevilla defender Sergio Escudero said.
The result snapped Sevilla's five-game winning streak in the league.
It was Espanyol's second consecutive victory, leaving the club from Barcelona in ninth place.
Meanwhile, Iker Muniain and Aritz Aduriz scored to give Athletic Bilbao a 2-1 victory over Sporting Gijon.
Athletic moved to within two points of a European place with the win. Duje Cop scored the lone goal for Gijon, who are firmly rooted in the relegation zone.
PA Sport and The Associated Press contributed to this report.