- Raúl de Tomás (17')
- Aleix Vidal (60')
- Karim Benzema (71')
- Insider Notebook: The latest gossip from around Europe
- Don't have ESPN? Get instant access
Karim Benzema grabbed a goal back for Madrid, but they were unable to score an equaliser and suffered their first LaLiga defeat of the season.
"We weren't comfy. We conceded early and that makes the game tougher for you," Madrid defender Nacho said. "They got in behind us a lot, and we need to work on our defensive play and that will come with games.
"We've got a number of players missing, but we still have a good squad and we should be doing better than in our last three games. We need to improve at the back and respond."
The result completes a poor week for Carlo Ancelotti's men after they also suffered a surprise loss to Sheriff in the Champions League on Tuesday.
Madrid dominated possession from the start but went behind after 23 minutes when de Tomas scored from close range.
The visitors also struggled to make their dominance count in the second half, and Espanyol doubled their lead on the hour mark when Vidal nutmegged Nacho and fired past Thibaut Courtois.
Benzema got Madrid back in the game 11 minutes later with a clinical finish into the bottom corner.
With six minutes remaining, Madrid thought they grabbed an equaliser through Eden Hazard, but his goal was ruled out for offside.