When Lionel Messi scored in the 23rd minute-his 26th league goal; Barcelona went top of La Liga, with their fortunes firmly in their own hands but two second half goals from Granada upturned that dream as Barcelona lost 2-1 to the eighth-placed team.
Barcelona remain in third place, on the same points with Real Madrid, at 71, though Los Blancos have the head-to-head advantage.
Barcelona can still go ahead of leaders, Atletico Madrid, if they win their remaining five matches-with the tie against the leaders in Week 35 now very important.
After Messi gave the Catalans the lead, he almost doubled it in the 35th minute but Granada goalkeeper, Aaron pushed the shot around the post and saved Samuel Umtiti’s header from the corner that ensued.
Antoine Griezmann had a scoring chance within a minute of the restart but it was the visitors who got the second goal of the game.
In a swift counter-attack on 62 minutes, Darwin Machis equalised. Ronald Koeman sent on Ousmane Dembele and Pedri for Oscar Mingueza and Ilaix with 18 minutes left on the clock.
In the 79th minute, Gerard Pique misjudged a cross from the left and Jorge Molina scooped a header past Marc-Andre ter Stegen to give the visitors a shock lead.
The last 15 minutes, including four minutes of extra time, were spent in the Granada half but to no avail. In the end, Barcelona, with 82 per cent of the ball possession had dropped the ball to take over the leadership of La Liga with five matches left in the season.