The Catalans took the lead on the stroke of half-time through Sergio Garcia but Granada levelled in the 73rd minute through Diego Mainz, only for Paco Montanes to restore Espanyol’s lead 11 minutes later.
Sergio Gonzalez’s side moved two points behind Malaga in seventh spot thanks to this win, but Granada’s top flight status is looking ever more precarious, as they stay stuck on 25 points, six from safety with just four games remaining.
Granada had more of the ball in the first half and showed more attacking initiative, but they went into their dressing room at half-time a goal down due to a costly error by Emanuel Insua.
The left-back dithered while bringing the ball out from defence and was dispossessed by Lucas Vazquez, who dribbled into the area before playing in Garcia, who beat a defender before firing into goalkeeper Roberto’s right hand corner.
Granada continued to take the initiative in the second half, while Espanyol were happy to try and protect their lead. Forwards Isaac Success and Piti both found opportunities to shoot but could not find the target, and instead it was defender Mainz who found the equaliser, heading in Lass Bangoura’s cross.
The hosts had 17 minutes left to look for a much-needed match winner. Success shot wildly over the bar and Insua tried to compensate for his earlier error but his effort was easily saved by Casilla.
Granada left themselves exposed to the counter, however. First Felipe Caicedo broke free towards goal after an error from Juan Cala but failed to make the most of the opportunity.
Then the defender lapsed again, and this time the ball was picked up by substitute Montantes, who rushed towards goal from the right and into the area to fire beyond Roberto.
The goal silenced the fans inside the Nuevo Los Carmenes and leaving Granada with an even slimmer chance of survival.