Barcelona lost at home in La Liga for the first time in more than two years as Real Betis pulled off a stunning 4-3 victory on Sunday, despite Lionel Messi scoring twice on his return from injury.
Barca last endured a league defeat at the Camp Nou against Alaves in September 2016 but, following 42 games unbeaten, their run was ended by a brilliant, counter-attacking display from Betis.
After five matches out injured, Messi returned but his two goals, one from the penalty spot and another deep into injury-time, proved little more than consolations.
Junior Firpo and Joaquin had put Betis two up at the interval before Messi sparked hopes of a comeback from the spot.
Giovani Lo Celso then capitalised on a rare mistake from Marc-Andre ter Stegen only for Barca to come again, Arturo Vidal making it 3-2, having come on as a substitute.
Ivan Rakitic was sent off, however, with nine minutes left and Sergio Canales added a fourth for Betis before Messi poked home at the end of an enthralling encounter. It was the first time ever that Messi scored twice and Barcelona lost.
Ernesto Valverde’s team stay top of the table but their lead is down to one point on Atletico Madrid, whom they play at the Wanda Metropolitano after the international break, and Alaves, who had beaten Huesca 2-1 in the day’s early match.
Espanyol could jump both and move level on points with the Catalans when they visit Sevilla later on Sunday.
“We don’t leave with the feeling Betis were the better team,” Valverde said. “I don’t want to take any credit away from our opponent but we could have countered them better.”
Betis, meanwhile, climb to 12th. Quique Setien’s side may have pulled back on the sumptuous, attacking football that earned them a sixth-place finish last term but, in full-flow, they remain one of Spain’s most difficult opponents to stop.
“We have been a brave team in every way,” former Spain international Joaquin said. “Winning at the Camp Nou requires concentration and doing everything very well. We played a great game.”
They seemed faster, sharper and hungrier while Barcelona’s midfield was repeatedly carved open on the break.
It took five passes for the opener, the last a first-time drive from William Carvalho to free Junior down the left. He weaved inside Sergi Roberto and found the net.
Barca had chances. Messi’s free-kick found Clement Lenglet on the stretch but his lunging finish was tipped over by Pau Lopez. Ter Stegen denied Cristian Tello with his legs.
Betis were soon pouring onto Barca’s defence again, with Junior’s cross evading everyone before finding Lo Celso on the opposite side. His cute cut-back picked out veteran winger Joaquin, who stabbed in Betis’ second.
Vidal replaced the jaded Arthur Melo at halftime and shot within a minute of the restart. Messi feathered a through ball for Sergi but Betis survived the scramble. Luis Suarez lashed wide.
Barca had the momentum and in the 68th minute, they pulled one back, with Jordi Alba tugged down by Tello, and Messi converting the penalty for his eighth league goal of the season.
But the comeback stalled three minutes later as Betis restored their two-goal advantage. Ter Stegen made the error, letting Lo Celso’s shot slip through his fingers and into the far corner.
Barca were not done yet. Two substitutes combined for a second, Munir El Haddadi laying on Vidal to make it 3-2 but no sooner had the recovery began again, it was halted.
First, Rakitic was sent off, a second yellow card for a late challenge on Lo Celso, and then Canales pushed in Betis’ fourth from Junior’s cross.
Messi added his second in injury-time, tapping a Vidal pass over the line. The video assistant referee deemed Messi onside but there was no more late drama. Betis held on for a shock victory.