Celta Vigo breathed life into La Liga's title race by becoming the first team this season to take points off Barcelona at the Nou Camp in a thrilling 2-2 draw on Saturday.
Iago Aspas gave Celta an early lead, but an inspired display from Lionel Messi appeared to have earned Barca another three points as he immediately equalised and then helped tee up Luis Suarez to put the hosts 2-1 in front.
However, the excellent Aspas set up Maxi Gomez 20 minutes from time as Barca centre-back Samuel Umtiti suffered a hamstring tear that will keep him out for eight weeks.
Atletico Madrid took advantage of Barca's stumble as Antoine Griezmann's winner against his former club two minutes from time earned a hard-fought 2-1 win over Real Sociedad.
Real Madrid can join Atletico, six points behind Barca, with victory at Athletic Bilbao later on Saturday.
- Barca's bogey team -
Celta have been a bogey side for Barca in recent years, beating the Catalans once in each of the past three seasons.
"We are Barcelona and we want to win every game, but it isn't always possible," said Barca boss Ernesto Valverde.
"Today we've drawn when we had more chances to win, but the league depends on a long season, not just one game."
A positive start from the Galicians on Celta boss Juan Carlos Unzue's return to the Camp Nou, where he spent three years as Luis Enrique's assistant, was rewarded 20 minutes in.
Aspas sprung Barca's offside trap and crossed for the unmarked Gomez who was denied by an incredible save by Marc-Andre ter Stegen.
However, the rebound fell for Aspas to slot home his ninth goal of the season.
Celta's lead lasted two minutes, though, as Messi latched onto Paulinho's pass to fire low under Ruben Blanco for his first goal since late October.
Messi then took control of the game as Barca pressed and finally broke Celta's resistence just after the hour when his pass freed Jordi Alba to tee up Suarez for his first goal at the Camp Nou in nearly three months.
An end-to-end encounter swung back Celta's way in a double blow for Barca.
Umtiti pulled up with what looked like a hamstring problem as he chased Aspas down the right and the Spanish international then patiently picked out Gomez to fire into an unguarded net.
"It was a series of unfortunate incidents in the one move," lamented Valverde.
"Above all for the injury to Samuel than to give away the goal."
- Griezmann's goal glut -
Griezmann's return to form continued as Atletico closed in on Barca with their first La Liga win at their new Wanda Metropolitano home since September.
Diego Simeone's men needed to do it the hard way, though, as they conceded for the first time in five games when Jan Oblak brought down Mikel Oyarzabal inside the area and Willian Jose blasted home from the penalty spot.
Scoring goals has been Atletico's problem this season, but they found a breakthrough from an unlikely source when left-back Filipe Luis cut onto his right foot to find the bottom corner 27 minutes from time.
An inspired goalkeeping display from Geronimo Rulli looked set to deny Atletico as he saved from Griezmann, Fernando Torres and Saul Niguez.
However, Griezmann's bravery was rewarded with a fourth goal in three games when he slid in to meet Saul's looping header despite being sandwiched between a Sociedad defender and the far post.