Espanyol had been looking over their shoulders after four games without a win and endured another nervous night on Friday as Victor Alvarez's dismissal after half an hour put them on the back foot.
But with time ticking down, Moreno headed in the winner from a 79th-minute corner to earn three much-needed points.
Granada left dejected, having had the best of the chances in the game up to that point when Youssef El Arabi's lobbed effort bounced off the crossbar on the hour mark.
Espanyol had looked bright in the early going, with Simao Sabrosa and Jhon Cordoba both going close, but they found themselves on the back foot after Victor Alvarez fouled El Arabi on the edge of the area and saw red.
Although Diego Buonanotte curled the free-kick over, the incident allowed Granada to take control of the match.
El Arabi warmed the palms of Francisco Casilla with a shot from the edge of the area before Yacine Brahimi and Jose Recio both blazed wastefully over the crossbar.
Espanyol's best chances were coming from set-pieces, and they enjoyed plenty of practice at the corner routine to Moreno which would eventually pay off at the end.
Before it did, Casilla had to save again from Brahimi before El Arabi's effort hit the crossbar.
But their profligacy proved costly as Espanyol snatched a win which lifts them to eighth in the table ahead of the rest of the weekend's programme, while Granada are four points above the bottom three.