Updated

Barcelona found itself losing at halftime, but Lionel Messi bagged a second-half brace to lift his side to a 2-1 win over Granada at Los Carmenes on Saturday.

Granada grabbed a shock lead in the 26th minute when Nolito headed a cross back in front of goal for Odion Ighalo to convert from close range.

Barcelona nearly equalized 12 minutes later when Thiago Alcantara's chipped ball into Messi's path was saved brilliantly by Granada goalkeeper Tono.

But Tono was unable to prevent Messi from leveling the score on the opposite side of halftime as Cesc Fabregas unleashed a shot from outside the penalty area in the 50th minute that was parried right to the feet of the Argentine attacker. The four-time FIFA Ballon d'Or winner calmly slotted the loose ball home for his 35th league goal of the season.

Pedro nearly broke the deadlock in the 66th minute when his low shot from the top of the box rattled the base the of the post before coming back into play. A minute later, Pedro turned in a through ball from Dani Alves but the goal was disallowed for offside.

Messi ultimately put the visitors in front with a piece of magic that the Argentine has been known to produce. He curled a superb free kick in the 73rd minute over the wall and past a diving Tono to hand his side all three points and raise his La Liga goal tally to 36 on the season.

Barcelona sees its lead in Spain's top flight extend to 15 points after winning its 21st league match of the year.

Granada's two-game winning run comes to an end as the club stays put on 26 points.

Malaga 1, Athletic Bilbao 0

Malaga, Spain - Malaga ensured its fourth-place position for another week as it rode Javier Saviola's first-half goal to all three points in its 1-0 defeat of Athletic Bilbao on Saturday.

Saviola's goal in the 18th minute proved to be all Malaga would need to claim maximum points on the day as the club improves to 42 points on the season.

Athletic Bilbao has lost two league matches in a row to remain on 26 points, just six points clear of the relegation zone.

Getafe 3, Celta Vigo 1

Getafe, Spain - Three different scorers helped Getafe claim its second win in its last three La Liga matches as it defeated Celta Vigo 3-1 at the Coliseum Alfonso Perez on Saturday.

Getafe's Adrian Colunga and Celta Vigo's Augusto Fernandez exchanged goals inside the opening 20 minutes, but Diego Castro Gimenez pounced on a loose ball in the box and stuffed it home in the 34th minute to give the home side the lead. Federico Fernandez nodded home a corner kick three minutes before halftime to give Getafe a two-goal cushion that it never relinquished.

The win sees Getafe climb to 32 points on the season. Celta Vigo, which has lost three league contests in a row, retains the final spot in the drop zone as it stays on 20 points.

Osasuna 1, Real Zaragoza 0

Navarra, Spain - Osasuna pulled further away from the relegation zone on Saturday after claiming a vital 1-0 victory over Real Zaragoza at El Sadar.

The home side jumped out to an early lead thanks to Kike Sola's fourth-minute strike and held the edge for the remainder of the match to move five points clear of the drop zone with 25 points for the season.

Real Zaragoza is winless in its last seven La Liga contests, sitting one point shy of Osasuna.