Barca are level on 22 points with Real Madrid after eight games, but have the better goal difference before the pair face each other next Sunday in El Clasico at the Santiago Bernabeu.
Celta’s Argentine goalkeeper Agustin Marchesin made an incredible save in the 10th minute with the tip of his left hand to keep out a brilliant long-range shot from Raphinha.
Teenage sensation Pedri was again on hand to find the net, having scored eight goals from 16 shots on target in LaLiga, scoring with each of his last four.
Celta looked much better after the break, taking control of the ball and creating several chances, but were denied by goalkeeper Marc-Andre ter Stegen.
“Two weeks ago we were dependent on [Robert] Lewandowski and now it’s Ter Stegen,” Barca coach Xavi said after the match. “Marc is an extraordinary goalkeeper, but we depend on the whole team, to win, to score, to keep clean sheets.”
The Germany international extended his clean-sheet streak in LaLiga to six games, while he has not conceded a goal in seven of Barca’s eight league games this season.
Celta made a late push but Ter Stegen made three brilliant safes to deny Celta an equaliser — two of them late on.
First he stopped a one-on-one strike from Iago Aspas with his right foot and then, in added time, deflected a close-range header by Carles Perez moments before Gonzalo Paciencia smashed a thundering strike off the right post.
“We need to be self-critical today, we have to be much better than we were today,” Xavi said. “Our team played well in the first 30 minutes, could have scored more goals, but they were better than us in the second half.
“But soccer is like this, it’s hard to win and important to win games like this, when you are not at your best and the rivals give you a hard time.”
Despite the looming top-of-table match against Real Madrid next Sunday, Xavi said his team would focus on their upcoming crunch Champions League match against Inter Milan in midweek.
“Now I am preparing for Inter,” Xavi said. “We have to savour these three points because they are important keep us top. The Clasico is unpredictable. Last year we went into badly and end up winning 4-0. We will try to win and show character like we did last season.”
After Celta’s good start to the first part of the season, they have lost three of their last four league games and are 11th on 10 points, four above the relegation zone.
“I think we deserved more than just one point, we deserved to win,” Celta captain Aspas told DAZN. “We had a great second half, had five or six great scoring chances, but the usual is to lose here.”