Barca stunned; Real win
Barcelona's week went from bad to worse as they lost to Granada, while Real Madrid cruised past Almeria.
Having been knocked out of the UEFA Champions League by Atletico Madrid on Wednesday, Barca's Primera Liga title hopes suffered a major setback as they went down 1-0 to Granada.
The match was settled by a solitary goal by Yacine Brahimi after 15 minutes, the Algerian racing through a Barca defence containing no natural centre-backs and scoring past Jose Manuel Pinto.
The visitors, who began without midfield metronome Xavi and first-choice full-backs Dani Alves and Jordi Alba, were unable to respond - thwarted on a number of occasions by Granada's outstanding goalkeeper Orestis Karnesis, who was making only his second start of the season.
The loss to a team that began the match with 44 points fewer than Barca meant Gerardo Martino's men could finish the weekend four points behind Atletico, who visit Getafe on Sunday evening.
Real Madrid are level on points with their city rivals for now after demolishing relegation-threatened Almeria 4-0 at the Santiago Bernabue in the day's late game.
Cristiano Ronaldo may have been missing but Real still possess plenty of firepower and they took the lead after 28 minutes when Angel di Maria exchanges passes with Nacho before curling a great strike past visiting goalkeeper Esteban and into the corner.
Gareth Bale added a second for Real in the 53rd minute when he drove powerfully home after a neat move, and Isco made it 3-0 by firing past Esteban at his near post.
Alvaro Morata completed the rout with five minutes remaining as he latched on to a chipped pass from Asier Illarramendi and calmly slotted in.
Celta Vigo came from behind to salvage a 2-2 draw from a dramatic game with Real Sociedad, despite playing the second half with 10 men.
Sergio Canales gave the Basques an early lead that was cancelled out by Nolito from the penalty spot after 38 minutes.
Antoine Griezmann put the visitors back in front with a thumping finish a couple of minutes before half-time and the afternoon got worse for Luis Enrique's side when Jon Aurtenetxe's rash tackle on Carlos Vela was punished by a red card in the 46th minute.
However, substitute Santi Mina levelled with eight minutes to go to take Celta to 37 points and deny Real Sociedad a chance to overtake Sevilla in the table.
In the day's other game, Jeremy Perbet headed a winner deep in stoppage-time to sink Levante and keep alive Villarreal's hopes of securing automatic qualification for the Europa League.
The game looked to be heading for a dour goalless draw well into the 95th minute, when Perbet nodded Manuel Trigueros' right-wing cross into the bottom corner of Keylor Navas' net to secure a 1-0 victory.