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 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.
Here, Sports Mole dissects the 90 minutes of action between the two sides.
On target: 5
On target: 6
Was the result fair?
On the balance of play, it is difficult to argue that Barcelona did not deserve to pick up the three points. Granada took a lead into the interval, but they had to ride their luck for large periods. Messi scored at just the right time in the second period and it was a struggle from that moment. That said, Granada did have chances to score in the latter stages.
Having won back-to-back matches in the league, Granada entered the match full of confidence. After all, they had recently beaten Real Madrid on their own patch. They took the lead after 26 minutes, but they were lucky to enter the break in the lead. They will take plenty of positives from their performance, but they ultimately leave with nothing.
The Catalan outfit were not at their clinical best this evening, but they still came away with the three points. The fact that they had 17 attempts tells you everything you need to know about their attacking threat. They needed a wonder strike from Messi to claim the victory, but you always felt that the goal would come.
Sports Mole's man of the match
Odion Ighalo: The 23-year-old was in fine form this evening as he opened the scoring in the first period. Even when Granada were under pressure in the second period, the Nigerian was always a threat with his pace and power. I suspect that his performance would have attracted the interest of a few scouts.
Biggest gaffe of the match
With Barcelona trailing in the latter stages of the first half, they were awarded a free kick just outside their own penalty area. Thiago decided to take it quickly, but presented the ball straight to Carlos Aranda. Luckily for the Spaniard, Victor Valdes was on hand to make a smart save.
Carlos Del Cerro had a fairly productive 90 minutes of football this evening. He was perhaps lenient in the first period when Gabriel Torje felled Pedro outside the box, awarding the Granada midfielder a yellow rather than a red. Aside from that, neither team will have had many complaints.
Granada: Granada will attempt to return to winning ways when they travel to struggling Celta Vigo in the league next Sunday.
Barcelona: The Catalan outfit are in Champions League action against AC Milan on Wednesday before returning to league action at home to Sevilla next Saturday.