Barcelona's charge towards the La Liga title was held up after a much-changed side was held to a 2-2 draw at Celta Vigo, where Sergi Roberto was sent off with his side's first league red card in over a year.
With one eye on Saturday's Copa del Rey final against Sevilla, Ernesto Valverde started with both Lionel Messi and Luis Suarez on the bench while Gerard Pique and Andreas Iniesta were rested.
Ousmane Dembele fired Barca ahead with his first La Liga goal before defender Jonny Castro Otto equalised on the stroke of half-time.
Paco Alcacer put the visitors ahead again just after the hour, by which time Messi had been sent on, but Roberto saw red on 71 minutes for pulling down Iago Aspas, who made it 2-2 with eight minutes left.
Celta substitute Lucas Boye saw a late effort cleared off the line as Barca held out to extend their unbeaten run to 40 matches and move 12 points ahead of second-placed Atletico Madrid, who have a game in hand.
Barcelona also set a new La Liga record by going 33 games unbeaten to start a season.
Dembele and Philippe Coutinho came into the Barca team as part of eight changes, with goalkeeper Marc-Andre ter Stegen captaining Barcelona for the first time.
Denis Suarez took an early pass from Coutinho into the left side of the penalty area, but his angled effort drifted just wide of the far post.
Celta, who started ninth in the table and still in contention for a Europa League spot, should have taken the lead on 10 minutes when Aspas picked out Maxi Gomez in a central position and his snapshot was beaten away by Ter Stegen.
On 25 minutes, Paulinho got up to meet a corner and sent a header downwards, the ball bouncing up and onto the left-hand post.
Celta then produced a swift counter attack, which found Brais Mendez in space on the right side of the penalty area, but the midfielder could only curl his shot wide.
Ter Stegen had to be alert just after the half-hour to make a smart one-handed save to push away a rising shot from Gomez.
Barcelona soon broke the deadlock on 36 minutes when Dembele crashed in from the edge of the penalty area on the half-volley.
Celta, though, hit back to equalise just before half-time. Andre Gomes was caught in possession as Aspas pushed the ball out to Gomez on the right. The low cross flashed through the six-yard box, where left-back Jonny got ahead of his marker to bundled it in from point-blank range.
At the start of the second half, Vigo midfielder Jozabed curled the ball wide after Barcelona had been opened up down the left.
On the hour, Messi was sent into the action, replacing Coutinho, as Valverde looked to inject some fresh life into his much-changed team.
Barcelona regained the lead on 64 minutes when Paulinho turned a Nelson Semedo cross toward the net and Alcacer got the slightest of touches to the ball before it crossed the line to poach the goal.
Roberto received a red card -- Barca's first in league play since April 8, 2017, against Malaga -- when he pulled back Aspas as the last man after the Vigo skipper broke down the left, and it was no surprise when the equaliser came, albeit somewhat fortunately.
Emre Mor's cross in from the left was punched out by Ter Stegen, only for the ball to deflect off Aspas, and into the net, quite possibly off the forward's arm.
Ter Stegen redeemed himself with a smart block as Boye went through late on to help Barca preserve their unbeaten run.