Cristiano Ronaldo was again rested, while Karim Benzema started on the bench, with Zidane keeping an eye on next week’s Champions League round of 16 clash against Paris Saint-Germain.
Espanyol had the chance to take the lead in the first half, but Keylor Navas denied Moreno.
Gareth Bale had a penalty shout waved away before the break when his shot hit the arm of a sliding Víctor Sanchez.
With the game looking to end as a draw, Moreno converted Sergio Garcia’s cross to win it for the hosts.
The result leaves Real in third with 51 points, 14 behind leaders Barcelona who can futher extend it to 17points if they secure a victory away at Las Palmas on Thursday.