Granada welcomed Barcelona on Saturday looking to build on a solid run of form on their own patch, which had included a recent win over Real Madrid.
The home side were ahead after 26 minutes when Odion Ighalo converted from close range, with that score still standing at the interval.
Barcelona were level moments into the second period, however, when Lionel Messi pounced on a loose ball to fire his 300th league goal for the club.
The away side continued to push in the latter stages, with the winner eventually coming from Messi 17 minutes from time.
Read how it all unfolded in Sports Mole's minute-by-minute live commentary of the action below.
GRANADA: Tono; Siqueira, Nyom, Mainz, Lopez; Nolito, Rico, Recio, Torje; Ighalo, Aranda
BARCELONA: Valdes; Alves, Pique, Mascherano, Adriano; Fabregas, Busquets, Thiago; Messi, Sanchez, Pedro