Raphinha and Robert Lewandowski's goals put the Catalans in a healthy position but Marc Casado's red card in the 82nd minute helped Celta start the fightback to snatch a point.
Alfonso Gonzalez capitalised on a Jules Kounde error to pull a goal back before Hugo Alvarez levelled two minutes later.
Barcelona have won 11 league games this season but this became the third they have failed to take three points from without teenage winger Lamine Yamal.
Flick said he would challenge his side to win without the injured 17-year-old wing wizard and it seemed they were managing it until their spectacular late crumble.
Barcelona are five points clear of Atletico Madrid at the top of La Liga, with champions Real Madrid, third, playing on Sunday at Leganes.
"It was a really bad match from us, it was nothing like what we want to see," said Flick.
"That was not like we normally play football."
Barca midfielder Gavi made his first start in over a year after recovering from a severe knee injury.
"We had the game under control but the red card had a big impact on us and they scored two goals in two moves and we have to learn from that," Gavi told DAZN.
Raphinha opened the scoring in the 15th minute after Kounde lofted a ball forward.
Lewandowski had a goal disallowed before he stroked home Barcelona's second, the 36-year-old striker's 15th league goal of the campaign, further extending his lead as La Liga's top scorer.
Inaki Pena made a handful of saves for Barcelona, denying Hugo Alvarez with his leg.
Raphinha then hit the post after being sent through -- a costly miss as the Catalans were reduced to 10 men after 82 minutes when Casado picked up his second yellow.
It restored Celta's belief and moments later they pulled one back when Kounde dallied on the ball and Gonzalez picked his pocket and finished past Pena.
Two minutes later Alvarez levelled for Celta as Barcelona collapsed, cutting in from the right and finishing clinically to snatch a point.
"We found ourselves with that red card and the (first) goal, and then the second came, it's inexplicable," said a delighted Alvarez.
700 not out
Atletico coach Diego Simeone was able to celebrate his 700th match in charge of the club with a 2-1 La Liga comeback win over Alaves on Saturday.
Antoine Griezmann and Alexander Sorloth's goals helped Atletico come from behind to triumph after Jon Guridi sent Alaves ahead with an early penalty.
The win took Atletico provisionally second, two points ahead of champions Real Madrid.
Atletico's Argentine coach Simeone appointed in December 2011, reached a milestone 700th game across all competitions in charge of the club which he has led to La Liga titles in 2014 and 2021.
"It's a good moment, the boys are working with a lot of responsibility and interpreting what we want and need (from them)," Simeone told DAZN.
"I am at peace. I'm in a place that I love a lot..."
The coach, welling up, broke off his sentence and darted off.
"Number 700 is a huge number, congratulations to him, the win is for him, the team, all the fans," said Giuliano Simeone, his son, who helped Atletico step up a gear in the second half.
Earlier Valencia scored an entertaining 4-2 La Liga win over Real Betis in their first match after devastating floods hit the region.
The win took the east-coast club 18th after their previous two games had been postponed following the disaster at the end of October which killed 227 people.
"The emotions, the atmosphere, the respect the Mestalla showed, it gave you goosebumps seeing how we paid homage to the victims," said Valencia coach Ruben Baraja.
"The victory is dedicated to all of the victims and all of those affected. We are with them."