Alexander Isak hade gjort mål i de två senaste ligamatcherna, i hemmamötet med Espanyol och bortamötet med Levante. Men trots målformen fick Isak starta på bänken i kvällens möte med Granada.
Real Sociedad gick till halvtidsvila i underläge 0-2, efter mål av Puertas och Roberto Soldado, men i upptakten av den andra halvleken tände Mikel Merino de blåvitas hopp med sitt reduceringsmål.
Med drygt fem minuter kvar av matchen skulle också kvitteringen komma för Real Sociedad när Mikel Oyarzabal smällde in kvitteringen med ett rappt skott på ett inspel från höger.
Real Sociedad såg ut att ha räddat en poäng - men med bara någon minut kvar att spela av ordinarie tid slog Domingos Duarte till och knoppade in 3-2 för Granada, ett mål som visade sig bli matchavgörande.
Isak blev kvar på bänken hela matchen för Real Sociedad. Det var första matchen för säsongen som Isak varken startade eller gjorde ett inhopp i ligan för Real Sociedad.
Real Sociedad ligger i och med förlusten kvar på sjunde plats i La Liga med tre omgångar kvar.
Startelvor:
Real Sociedad: Moya, Lllorente, Aritz, Portu, Merino, Willian José, Oyarzabal, Aihen, Barrenetxea, Le Normand, Zubimendi.
Granada: Rui Silva, Foulquier, Yan Eteki, Soldado, Puertas, Neva, Diaz, Vallejo, Herrera, Domingos, Fdez.