Match ends, Barcelona 3, Real Betis 4.
Barcelona lost a home league match for the first time in two years as the Spanish champions were beaten by Real Betis's expert display at the Nou Camp.
Junior Firpo gave Betis a deserved lead after 20 minutes, before veteran Joaquin made it two before the break.
Lionel Messi scored a penalty in reply but a Marc-Andre ter Stegen error saw Giovani lo Celso add a third for Betis.
Arturo Vidal's tap-in gave Barca hope, but Sergio Canales got the away side's fourth, before a Messi consolation.
Ernesto Valverde's side remain at the top of La Liga, one point ahead of Sevilla, Atletico Madrid and Alaves.
The hosts had Ivan Rakitic sent off for a second yellow card with eight minutes left when trailing 3-2 and were powerless to match a determined and clinical Betis side, despite Messi's two goals on his return from a fractured arm suffered three weeks ago.
Barca's previous home league defeat came on 10 September 2016, when they lost 2-1 to Alaves.
Betis had lost on their past eight visits to the Nou Camp and had not won there for more than 20 years.
But they came away with three points that lifts them up to 12th in the table courtesy of an impressive display built on adventurous counter-attacking and smart play in possession.
Quique Setien's side went into this game having scored only eight goals in 11 matches, the lowest return in La Liga.
Here they mustered eight shots on goal to Barca's five and scored from half of those.
Ter Stegen did let a Lo Celso strike slip through his gloves immediately after Messi had scored Barca's first from the penalty spot, which slowed the home side's momentum.
But nothing should be taken away from Betis, who more than deserved this victory which keeps Barca's rivals for the title within touching distance.
- 1ter Stegen
- 4RakiticBooked at 81mins
- 5BusquetsBooked at 59minsSubstituted forAleñáat 69'minutes
- 8ArthurSubstituted forVidalat 45'minutesBooked at 73mins
- 14MalcomSubstituted forEl Haddadiat 57'minutes
- 2Nélson Semedo
- 6D Suárez
- 19El Haddadi
- 23MandiBooked at 69mins
- 12da Silva Júnior
- 11TelloBooked at 67mins
- 18GuardadoBooked at 24mins
- 14William Carvalho
- 21Lo CelsoSubstituted forInuiat 87'minutes
- 16MorónSubstituted forLeónat 76'minutes
- 17Sánchez RodríguezSubstituted forCanalesat 62'minutes
- Antonio Miguel Mateu Lahoz
- Shots on Target
Second Half ends, Barcelona 3, Real Betis 4.
Delay over. They are ready to continue.
VAR: Goal. Referee decision on field cancelled.
Delay in match (Barcelona). Video Review.
Goal! Barcelona 3, Real Betis 4. Lionel Messi (Barcelona) left footed shot from very close range to the bottom left corner. Assisted by Arturo Vidal.
Attempt missed. Gerard Piqué (Barcelona) header from the centre of the box is close, but misses to the right. Assisted by Munir El Haddadi with a cross following a corner.
Corner, Barcelona. Conceded by Andrés Guardado.
Offside, Real Betis. Marc Bartra tries a through ball, but Sergio Canales is caught offside.
Attempt missed. Gerard Piqué (Barcelona) header from very close range is too high following a corner.
Corner, Barcelona. Conceded by Marc Bartra.
Substitution, Real Betis. Takashi Inui replaces Giovani Lo Celso.
Corner, Barcelona. Conceded by Sidnei.
Foul by Clément Lenglet (Barcelona).
Sergio Canales (Real Betis) wins a free kick in the attacking half.
Goal! Barcelona 2, Real Betis 4. Sergio Canales (Real Betis) right footed shot from very close range to the bottom right corner. Assisted by Júnior Firpo.
Attempt saved. Júnior Firpo (Real Betis) left footed shot from the left side of the box is saved in the centre of the goal. Assisted by Giovani Lo Celso.
Second yellow card to Ivan Rakitic (Barcelona) for a bad foul.
Foul by Ivan Rakitic (Barcelona).
Giovani Lo Celso (Real Betis) wins a free kick in the defensive half.