Earlier, Madrid consolidated their advantage at the top thanks to goals from Karim Benzema, Isco and Nacho to beat Alaves 3-0 at the Santiago Bernabeu.
Madrid still also have a game in hand and the two will meet at the Bernabeu in three weeks' time.
"The games after an international break are always special because the players travel a lot and accumulate tiredness," said Barca boss Luis Enrique.
Barca could have used Messi's precision in front of goal as they passed up a host of chances in the first-half at Nuevo Los Carmenes.
More From This Section
Luis Suarez's first attempted chip over Ochoa came back off the underside of the bar before the Mexican denied Suarez with three saves in as many minutes.
The Uruguayan did eventually make the breakthrough when he sent a lovely dinked effort over the helpless Ochoa from Jordi Alba's through ball.
Granada sent on Chelsea loanee Jeremie Boga at the start of the second-half and he took just five minutes to level as his pace proved too much for Barca's cumbersome backline before finishing low into the far corner.
Any chance of a Granada revival was ended when Uche Agbo was shown a second yellow card eight minutes from time.
Seconds later Barca make the game safe when Ivan Rakitic drilled into the bottom corner from the edge of the area.
And Neymar rounded off the win with his 100th goal on his 177th appearance when he tapped home Alcacer's cross at the far post.
At the Bernabeu, the European champions were grateful to Alaves' wastefulness in front of goal as they moved a step closer to a first title in five years.
"We were having problems, we weren't playing well and then all of a sudden Cristiano (Ronaldo) gets the ball, passes it to Isco and he controls and scores.
"That is what this team has. We know that at any moment we can hurt the opponent."
Real suffered an injury blow inside 10 minutes when Raphael Varane experienced a recurrence of a hamstring injury and had to be replaced by Carvajal.
"Rafa has damaged the same area as before, it isn't as bad as three weeks ago and we hope it is nothing major."
Madrid's rhythm was disrupted by the half-time whistle, though, as Alaves were the better side for large spells of the second-half.
Deyverson headed over from point-blank range from Theo Hernandez's cross before Mendez passed up the visitors' best chance when he slotted wide when unmarked at the back post.
Manu Garcia's flicked header also then dipped just beyond Kiko Casilla's far post as the Santiago Bernabeu crowd became restless. However, Isco settled their nerves when he rocketed Ronaldo's through ball into the roof of the net from a narrow angle.
Earlier, Sevilla's slump continued as they were held 0-0 at home by Sporting Gijon to remain in fourth behind Atletico Madrid due to an inferior head-to-head record.