Luis Suarez rounded the keeper for the opener in the 72nd minute before Lionel Messi doubled the visitors’ advantage in the 84th.
The result leaves Real Madrid eight points behind the Catalans.
Here, we rate the players from both sides.
Asenjo 6: Made a pretty good save from Messi’s early free-kick and was then left largely unoccupied until the latter stages, when he could do nothing about either of Barca’s goals.
Gaspar 5: The Villarreal skipper made some good attacking runs but was frequently tested by the dangerous surges of Alba, with his lack of pace exposed.
Ruiz 5: An otherwise solid performance was spoiled by a horrendously misplaced ball out of defence straight to Busquets, who punished it fully with a through ball for Messi to score the second goal.
Alvaro 7: The former Espanyol man did well in his physical battle with Suarez, sticking doggedly to his task and getting in the right place to make countless clearances and blocks.
Costa 6: Did well on the right of Villarreal’s defence, but had little impact going forward.
Trigueros 6: Couldn’t dictate the flow of the game as much as he would have liked, struggling to escape the attentions of Busquets, but sparked his team’s best move which finished with a rasping drive well saved by ter Stegen.
Semedo 6: Solid enough in the centre of midfield during the first half but departed through injury shortly after the break.
Rodri 6: Worked hard defensively to break up Barca’s possession on the edge of the box, keeping his use of possession simple and holding his position well.
Soriano 7: Strong display, always looking to link midfield with attack. Tested ter Stegen with a first half volley and later curled a powerful shot narrowly wide. Sacrificed for defender Rukavina when Raba was sent off.
Raba 6: The promising youngster delivered a great cross which nearly led to the opener and was playing well, but ruined his night after an hour by getting himself sent off for a reckless studs-up lunge on Sergio Busquets.
Bakambu 5: Tried to use his pace and running power to trouble Barca’s back line, but was well marshalled by Pique and missed the assistance of his injured usual strike partner Carlos Bacca.
Castillejo 5: Talented winger appeared early in the second half but exerted little influence as Barca stepped up the pressure.
Rukavina 5: Brought on to help shore up the home team defence but didn’t do enough to track the runs of Alba.
Ter Stegen 7: Flawless, as he has been nearly every game this season. Made a good left-handed save to deny Soriano in the first half and dived full stretch to keep out Trigueros’s piledriver in the second.
Roberto 6: Unfussy display from the utility man, who defended diligently but rarely ventured forward and instead stayed back to offer additional cover for Alba’s runs down the other flank.
Pique 7: Strong in defence, enjoying the better of his personal tussle with Bakambu. Unlucky not to score when he crashed an early header from a corner against the crossbar.
Vermaelen 7: No-nonsense and determined defensive display from the Belgian international, who is undoubtedly enjoying his best spell since joining Barca three and a half years ago.
Alba 8: Overcame an early injury scare shoulder to deliver an excellent performance down the left, posing plenty of attacking threat. His understanding with Messi was particularly prominent, creating two good chances.
Rakitic 6: Kept things simple of the right of midfield, a position which doesn’t allow him to play to his strengths, but one which he fills without complaint for the good of the team.
Busquets 8: Outstanding in the centre of midfield, reading the game superbly and helping protect his back four. Capped a fine display by helping wrap up the points by releasing Messi for the second goal.
Paulinho 5: Quiet game for the Brazilian, with the action largely passing him by until he was substituted for Vidal midway through the second half.
Denis 5: Occasionally combined well with Alba but wasted some good positions with poor balls into the box. Replaced by Alacer after an hour.
Messi 8: Predictably always looked the most likely source of a breakthrough. Had an early shot deflected wide, saw a free-kick well saved, curled a couple of shots just wide after combining well with Alba, and eventually sealed the points with the second goal.
Suarez 6: A frustrated figure for much of the game, receiving little support and contributing little to the build-up play, but sparked into life near the end, hitting the post with his first sniff of goal and then netting a classy winner.
Alcacer 7: Made a decisive contribution with a lovely deft through ball for Suarez’s opening goal and worked hard in an unfamiliar position on the left of midfield.
Vidal 6: Ran and ran down the right wing after coming off the bench, showing plenty of attacking intent and forcing a low save from Asenjo after running onto a pass from Messi.
Gomes: Late sub for Busquets and had no time for much involvement.
Celta have proved far from comfortable opponents for Barca in recent years, beating them three times in their last seven league meetings as well as holding the La Liga leaders to a 2-2 draw at the Nou Camp on Saturday.
That was the first time since March that Barca have dropped points at home – during which time they had won 18 successive matches by a combined 70-13 scoreline – and shows the threat Celta pose to the Catalan club’s hopes of winning a fourth successive Copa crown.
Barca’s main rivals for cup glory next summer are likely to have been far happier with their draws, although those ties also included some potential banana skins.
— RFEF (@rfef) December 5, 2017
Atletico Madrid will be expected to beat third-tier Lleida – a tie which could possibly see Diego Costa make his return for the club – but Real Madrid and Sevilla were handed trickier-looking clashes against Segunda Division high-fliers Numancia and Cadiz, respectively.
Cadiz have won their last six matches in all competitions and beat Sevilla’s arch-rivals Real Betis in the last round of the cup.
Valencia, second in the top flight, face struggling Las Palmas for a place in the quarter-finals while Villarreal meet Leganes in another all-La Liga encounter.
The remaining clashes see last year’s beaten finalists Alaves face Segunda B Formentera – the lowest-placed team left in the competition – and Espanyol take on Levante.
The ties will be played in the first two weeks of January.
All told, it was not a great weekend for the title-chasers in La Liga. With one exception: Atletico Madrid, despite being second-best for much of their home game against dangerous Real Sociedad, scrambled three points thanks to a late winner from Antoine Griezmann, who followed the modern trend by refusing to celebrate a goal against his former club.
Griezmann might not have rejoiced, but for Atletico fans – and for neutral followers of La Liga everywhere – Atletico’s last-gasp triumph this weekend should perhaps be warmly welcomed as the result puts Diego Simeone’s men in the thick of the title race.
For much of this season, Atletico have been surrounded by a new and notable level of criticism and negativity.
Although they remain unbeaten in La Liga, they have suffered too many low-scoring draws against opponents they really should be beating, and are also on the brink of Champions League elimination after twice failing to fight their way out of Qarabag.
For the first time since he arrived at the club six years ago, Simeone has found his tactics questioned for a perceived negativity, and star forwards Yannick Carrasco and Griezmann have come under scrutiny for their lacklustre attitudes.
All has not been well in the Rojiblanco house…yet look at them now, still unbeaten after 14 league games – their best ever start in that respect – just one point behind lavishly lauded Valencia, two points clear of bitter crosstown rivals Real Madrid, and six points behind suddenly struggling Barcelona.
If that’s Atletico’s position after such a supposedly poor start to the season, can you imagine how fly they might fly if they find top form?
The good news for Atletico is that they can certainly get much better, especially going forward. They have often been clearly lacking in attacking ideas, relying on set-pieces or sheer persistence rather than genuine chance creation, scoring one or no goals in seven of their league games so far.
But the last couple of weeks have shown signs of encouragement, especially with the return to form of Griezmann, who has now scored four goals in his last three games.
The turning point for the French forward came in the must-win Champions League clash with Roma a couple of weeks ago, when Griezmann ended a two-month goal drought with a spectacular overhead volley to set his team on their way to a 2-0 win which kept their qualification hopes alive.
He then scored twice in the 5-0 thrashing of Levante last week before adding Saturday’s winner against Real Sociedad, putting suggestions that he is preparing to quit the club in January on the backburner.
Talking of January, that rapidly approaching month will also provide Griezmann with significant and much-needed support in the formidable shape of Diego Costa, who will be ready to kick off his second spell at Atletico when the club’s transfer ban comes to an end.
And Costa won’t be the only one, with Spanish international winger Vitolo, who can provide exactly the kind of wily invention that Atletico often badly lack, also coming on board after spending the first half of the season on loan at Las Palmas following his transfer from Sevilla.
The addition of Costa and Vitolo – two top-class and proven performers – should make a great deal of difference to Atletico’s firepower, assuming they can quickly integrate into the team’s style of play which, of course, should not be any problem at all for Costa.
At the other end of the field, Simeone’s men continue to be among the best defences in the world, having conceded just seven goals in their 14 league games to date – the joint-best tally in La Liga alongside Barcelona.
Diego Godin, Jose Maria Gimenez, Lucas Hernandez and Stefan Savic all provide outstanding quality in the centre of Simeone’s defence, allowing the Argentine coach to rotate his back four without losing any of their famous defensive impenetrability.
This week could deliver a serious setback to Atletico’s season with a Champions League knockout – they need to win away at Chelsea and hope that Roma drop points against Qarabag to progress.
But even that could be helpful to their league ambitions, allowing them to focus all their energies in one direction (the Copa del Rey and Europa League, realistically, would be afterthoughts).
So they might have suffered a ‘bad’ start to the season, but Atletico now appear to be hitting their stride, and they are very much genuine contenders for the La Liga title.