Ten man Barcelona were crushed 3-4 Sunday afternoon at the Camp Nou with Real Betis handing them their second La Liga defeat of the season.
Returning star Lionel Messi scored a brace, to record his 14th goal of the season, but his efforts were not enough as the visitors capitalised on Barcelona’s leaking defence to score four times.
It was Barcelona’s first home defeat in more than two years.
The last time they lost at home was in September 2016, against Alaves.
Now Betis have ended Barca’s 42 games unbeaten run , with a brilliant, counter-attacking display.
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 in the 92nd minute.
Barca stay top of the table despite the defeat but their lead is down to one point, with Atletico Madrid now breathing down their necks in second, while Espanyol will have a chance to move level on points with the Catalans when they visit Sevilla later on Sunday.
Ernesto Valverde’s Barca play Atletico at the Wanda Metropolitano after the international break.
Betis 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 of the box. His cute cut-back picked out veteran winger Joaquin, who stabbed in Betis’ second.
Vidal replaced the jaded Arthur Melo at half-time and shot within a minute of the restart. Messi feathered a through-ball for Sergi but Betis survived the scramble as Luis Suarez lashed wide.
Barca had the momentum and in the 68th minute, they pulled one back, with Jordi Alba pulled 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 as Betis held on for a shock victory.