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.
"The sensations are negative after that, we have lost two points in the fight for La Liga", said Suarez after the match. "We had it in our own hands and now we have to hope that Real Madrid drop points. The sensation is one of frustration because we have given up two points.
"Both teams have tough games to come. This was a complicated place to come, as Villarreal will be next week, and Atletico Madrid at home in midweek. The sensations are that we've lost two points and we have to correct things to improve."
Setien rued another missed opportunity after the match, saying: "We should not have been in that situation because we were much better in the first half. We should have gone in at half-time with a more comfortable lead.
"It's true we had a two-point lead and now, if [Madrid] win on Sunday, they will have a two point advantage. We don't have as much room for error now and have to win all our games and hope our rivals slip up. We will try to keep on picking up points."