Champions Atletico Madrid moved into second, two points behind Barca, as they beat previously undefeated Sevilla 4-0 at home yesterday.
Meanwhile, Cristiano Ronaldo's hot scoring streak continued in Real Madrid's 2-0 win at Villarreal to remain four points off the top in fourth.
Barca stretched their run of consecutive clean sheets to seven games, but rediscovered their scoring touch after being held to a 0-0 draw at Malaga in midweek as Messi and Neymar shone.
After a slow start Barca took the lead on 26 minutes as Neymar was gifted the ball inside the Granada half and surged forward before seeing his effort deflect pass the helpless Roberto via Jean-Sylvain Babin.
Also Read
Barca continued to dominate after the break and Alves provided Messi with the kind of service he has been handing out in recent weeks with a fine cross that the four-time World Player of the Year headed home.
And the Argentine rounded off a fine afternoon by robbing the Granada defence of possession and running through to slot home his fifth goal of the season and the 400th of his career.
Sevilla had started the day level on points with Barca, but their four-match winning streak came to an end at the Vicente Calderon as Atletico produced their most complete performance since winning the title in May.
The hosts went in front after 19 minutes when Koke's deflected effort left Beto with no chance before Saul Niguez continued Atletico's streak of scoring from set-pieces when he headed home the second just before half-time.