Hansi Flick's side were two goals ahead and cruising before Marc Casado was sent off in the 82nd minute, and Celta then scored twice in the space of two minutes to secure an unlikely point in front of their own fans.
Barcelona remain top of the La Liga table, five points ahead of second-placed Atletico Madrid and seven clear of third-placed Real Madrid, who have two games in hand, while Celta sit 11th in Spain's top flight.
The visitors made the breakthrough in the 15th minute of the contest through Raphinha, who collected a long pass from Jules Kounde before driving into the penalty area and picking out the bottom corner with a composed finish.
Robert Lewandowski also had the ball in the back of the Celta net towards the end of the first period, but his effort was disallowed for offside, with just one goal separating the two teams at the interval.
Celta were a threat, having six shots in the first half, although just one of those was on target, with Barcelona proving to be the more productive outfit from that point of view, registering three shots on target from five attempts in the opening 45 minutes.
Barcelona registered their second of the match in the 61st minute, and the goalscorer was not a surprise, with Lewandowski bundling his way into the penalty box before slotting past Celta goalkeeper Vicente Guaita to score his 20th goal of the season.
Casado was handed a red card in the 82nd minute after picking up a second yellow, though, and Celta then scored through Alfonso Gonzalez and Hugo Alvarez in the space of two minutes to secure an incredible point for the Sky Blues.
CELTA VIGO VS. BARCELONA HIGHLIGHTS
Raphinha goal vs. Celta Vigo (15th min, Celta Vigo 0-1 Barcelona)
Barcelona make the breakthrough in the 15th minute of the contest through Raphinha, with the Brazilian collecting a pass from Kounde before driving into the Celta box and picking out the bottom corner.
Not too sure about the defending from Oscar Mingueza there.
Robert Lewandowski goal vs. Celta Vigo (61st min, Celta Vigo 0-2 Barcelona)
Barcelona double their advantage in the 61st minute of this contest, as Lewandowski bundles his way into the Celta penalty box before finding a finish; once again it is untidy defending from Celta.
82nd min: Marc Casado (Barcelona) red card
Barcelona are reduced to 10 men, with Casado receiving his marching orders after picking up a second yellow card.
84th min: Celta 1-2 Barcelona (Alfonso Gonzalez)
Celta get one back in the 84th minute, as Gonzalez wrestles Kounde off the ball before finishing into the bottom corner. Can the home side launch a late comeback against the division leaders?
86th min: Celta 2-2 Barcelona (Hugo Alvarez)
Incredible scenes! Celta make it 2-2 in the 86th minute, less than two minutes after levelling, with Alvarez showing excellent feet inside the Barcelona box before feeding the ball into the bottom corner.
MAN OF THE MATCH - RAPHINHA
Raphinha made the breakthrough in Vigo, with the Brazilian now on 13 goals and 10 assists in 18 appearances in all competitions this season, and he deserved to be on the winning side on Saturday night.
The 27-year-old has taken his performances to a new level during the 2024-25 campaign, and Celta struggled to deal with him, particularly in the first period, with the forward putting in yet another excellent display.
CELTA VIGO VS. BARCELONA MATCH STATS
Possession: Celta Vigo 41%-59% Barcelona
Shots: Celta Vigo 15-9 Barcelona
Shots on target: Celta Vigo 8-4 Barcelona
Corners: Celta Vigo 5-1 Barcelona
Fouls: Celta Vigo 13-9 Barcelona
BEST STATS
WHAT NEXT?
Barcelona's attention will now switch to the Champions League, with the Catalan side facing Brest in the league phase of the competition on Tuesday night, before hosting Las Palmas in La Liga next Saturday.
Celta, meanwhile, will be aiming to build on the positive result when they travel to Espanyol next Saturday.