The result leaves Real Madrid, who face city rivals Atletico in an always fiercely contested derby on Sunday (Monday AEDT), a point clear at the summit with a game in hand.
Perennial rivals Barcelona moved up to third with a 3-1 win at Alaves, leaving them seven points behind pace-setters Madrid.
Girona were unable to break down sixth-placed Sociedad, and to add insult to injury their coach Michel was sent-off in the 89th minute.
Robert Lewandowski, Ilkay Gundogan and Vitor Roque - who was later dismissed after a second yellow card - scored the goals as Barca eased past Alaves for their second successive win since coach Xavi announced he would be stepping down at the end of the season.
After last weekend's 5-3 loss at home to Villarreal, Xavi had said his players had lacked the "maturity" to protect their lead and compete for the entire match.
He was considerably happier after the victory over Alaves, who scored a consolation through Samuel Omorodion.
"My team played a mature game," Xavi said.
"They showed they knew how to compete, and at a pitch that is very demanding and requires you to be focused for 90 minutes.
"I am satisfied. This is the response that I expected."
While others got the goals, 16-year-old Lamine Yamal again stood out as Barcelona's most creative and incisive attacking player.
"Robert is our scorer. He can go through rough spells and he can say he has lost his spark, but he was key again for us today," Xavi said about Lewandowski, before praising Yamal.
"Lamine is an incredible talent. He is the complete package, and the most important thing is how he works for the team."
Granada played with 10 men from the 21st minute after Kamil Piatkowski was shown a red card while the visitors had Aaron Escandell dismissed with 20 minutes remaining.