A Guilherme Siqueira penalty in stoppage time was enough for Granada to take all three points and leave Racing de Santander in a perilous position in the La Liga relegation zone.
Granada were been the better side in a subdued game. Ikechukwu Uche twice fired wide from good positions, while Odion Ighalo was denied by an excellent stop from Racing goalkeeper Mario Fernandez.
The hosts had offered very little going forward and, just as they thought that they were set to claim a valuable point, Bernardo stupidly brought down Uche, allowing Siqueira to expertly convert from 12 yards.
Granada are now nine points clear of Santander, who remain six points short of safety.