Granada stunned Barcelona 1-0 at home to deal a significant blow to the Catalans' title hopes in Spain.

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 defeat 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.

Carlo Ancelotti's men took advantage of Barcelona's surprise defeat earlier on Saturday, with goals from Angel Di Maria, Gareth Bale, Isco and Alvaro Morata lifting them back above the Catalan club in the battle to be crowned Spanish champions.

It was Real's third successive win in La Liga - a run which has seen them score 13 unanswered goals - and they sit behind Atletico on head-to-head only, although their city rivals are in action at Getafe on Sunday.

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.