Betis stun Barcelona, Real overcome Celta
Not even two goals by Lionel Messi could save Barcelona from their first Spanish league home defeat in more than two years on Sunday when Real Betis won 4-3 at Camp Nou.
Real Madrid took advantage of Barcelona's unexpected slip by winning 4-2 at Celta Vigo to close the gap on the leaders.
Betis never trailed as they ended Barcelona's run of 42 unbeaten home games in the league that dated back to a 2-1 defeat to Alaves in September 2016.
Messi did all he could to keep Barcelona's streak going in his first game back since breaking a bone in his right forearm three weeks ago.
The Argentina forward scored a second-half penalty, set up substitute Arturo Vidal to reduce the deficit to 3-2, and added a final goal for the hosts late in stoppage time.
But Betis led 2-0 at half-time thanks to opening goals by Junior Firpo and Joaquin Sanchez. Giovani Lo Celso and substitute Sergio Canales then responded to Messi's spot kick and Vidal's goal, respectively, to keep Betis comfortably in front.
Barcelona were left with 10 men in the 82nd minute when Ivan Rakitic earned a second booking for a hard tackle on Lo Celso. A minute later Firpo led another attack for Betis from the left flank, passing for substitute Canales to slide and push in what proved to be the winner.
"They won the match in the first half," Barcelona coach Ernesto Valverde said. "We played a poor first half, and then each time we got closer they hit us right back."
Barcelona hadn't lost at home in any competition since Valverde's debut in the Spanish Super Cup at the start of the 2017-18 season, when they lost 3-1 to Real Madrid.
Barcelona remained one point ahead of Atletico Madrid.
Sevilla and Alaves also moved level on points with Atletico after fighting back for 2-1 victories over Espanyol and Huesca respectively.
Madrid remained in sixth place, but moved to within four points of leaders Barcelona.
Santiago Solari improved his chances of getting the plum job full time after he coached Madrid to a fourth straight win since replacing Julen Lopetegui two weeks ago.
When asked about Solari's future, Madrid club spokesman Emilio Butragueno limited his comments to "what I can say is that we are very happy (with Solari)."
"There is no doubt that he came at a very particular moment and has been able to achieve very good results," Butragueno told Movistar+.
After Karin Benzema opened the scoring with a classy goal, Madrid got an own-goal by Gustavo Cabral, a penalty by Sergio Ramos and a late goal by substitute Dani Ceballos.
"The important thing is to do what is necessary for the good of the team, everything else doesn't matter," Solari told reporters when asked about his future after the match.
Villarreal also drew 2-2 at Rayo Vallecano.