Spain striker Iago Aspas dealt a fresh blow to Barcelona's La Liga title hopes by striking a late free kick to snatch a 2-2 draw at home to the Catalans on Saturday as Quique Setien's side twice threw away the lead in a thrilling match.
The draw put Barca back on top of the table on 69 points after 32 games but Real Madrid, on 68, can go two points clear at the summit if they beat Espanyol away from home on Sunday.
Luis Suarez headed Barca in front in the 20th minute thanks to a piece of ingenuity from Lionel Messi, who looked certain to fire at goal from a free kick but instead lofted the ball towards his Uruguayan strike partner.
Russia striker Fedor Smolov equalised for Celta early in the second half, knocking in a pass from Okay Yokuslu to complete a quick counterattack after Barca's Ivan Rakitic had given the ball away.
But Suarez restored Barca's lead in the 67th minute after combining again with Messi, swivelling to fire into the bottom corner.
The second goal looked to have averted a second consecutive away draw for Barca after last week's goalless stalemate at Sevilla but Aspas won a late free kick after falling over the outstretched legs of Gerard Pique.
Celta's talismanic striker made the late opportunity count by sending a low drive around the wall and into the near bottom corner, flummoxing Barca goalkeeper Marc-Andre ter Stegen.
Celta should have won the game in added time when Nolito arrived at the far post with the goal gaping, but instead of tapping into the net his shot went straight at Ter Stegen.
Celta are 16th on 34 points, the draw taking them eight points clear of the relegation zone.