Karim Benzema had a shot saved and Thibaut Courtois pushed an effort from Adrian Embarba around the post before Raul de Tomas put Espanyol ahead on 17 minutes. The former Madrid youth product's near-post run was spotted by Embarba, and he fired the cross past Courtois.
Madrid's best chance to level before half-time came when Eder Militao's header from David Alaba's free kick flew wide, while the defender missed an even better opportunity after the break. Aleix Vidal doubled Espanyol's lead with 60 minutes played, nutmegging Nacho before beating Courtois, and then Sergi Darder missed the chance to make it 3-0 when one-on-one with the keeper.
Benzema had a goal disallowed but then did manage to pull one back, curling in from the edge of the box, while substitute Eden Hazard saw a late strike ruled out for offside.
Madrid will take some consolation from the fightback here at 2-0 down with half an hour left. They really went for Espanyol then -- they had no choice -- and we've seen the team get something from games like this so many times that it was easy to imagine a late draw or even an unlikely win. They would have done so if Luka Jovic and Karim Benzema had managed to stay onside at crucial moments. Otherwise, there was little to feel good about.
Two slip-ups over the last week -- a 0-0 draw with Villarreal and then the 2-1 Champions League defeat to Sheriff -- meant Madrid badly needed a win here to restore confidence. Espanyol looked like ideal opponents, a team Madrid had beaten in 13 of their previous 14 LaLiga meetings, but instead this turned out to be a really difficult afternoon.
Real Madrid's defensive issues have been under the spotlight all season. Part of the problem has been injuries -- Dani Carvajal, Ferland Mendy and Marcelo were all missing here -- while some growing pains were inevitable after the departures of long-term mainstays Sergio Ramos and Raphael Varane.
Still, the errors here were pretty basic. Alaba was shown up by Embarba for Espanyol's first goal and then Nacho was embarrassed by Vidal for the second. A major improvement in this department is needed if Madrid are going to win anything this season.
Manager ratings out of 10
6 -- Carlo Ancelotti made three changes to the team that lost to Sheriff with Miguel Gutierrez, Casemiro and Eden Hazard replaced by Lucas Vazquez, Toni Kroos and Luka Modric. That saw the team switch to 4-4-2 with Eduardo Camavinga at left midfield and Fede Valverde on the right. At the back, Alaba moved to left-back, with Nacho coming inside.
The coach brought on Rodrygo for the injured Camavinga at half-time and went to 4-3-3, before throwing on Casemiro, Jovic and Hazard later. The team improved and could have gotten something from the game in the second half, but it wasn't quite enough.
Player ratings (1-10; 10 = best, players introduced after 70 minutes get no rating)
GK Thibaut Courtois, 6 -- Couldn't do anything about Raul de Tomas' close-range opener but arguably could have got a hand to Vidal's goal. One excellent save from Darder later.
DF Lucas Vazquez, 5 -- The closest man to De Tomas when he scored but couldn't get to the ball first. One important second-half intervention prevented Espanyol from making it 3-0.
DF Nacho, 4 -- The way he was beaten by Vidal -- who's not exactly known for this kind of thing -- to burst through the middle for Espanyol's second won't be forgotten anytime soon.
DF Eder Militao, 5 -- Had two very good chances to equalise either side of half-time. Gets into scoring positions so often from set pieces but needs to hit the target.
DF David Alaba, 5 -- Picked at left-back despite Ancelotti's previous insistence that he'll play in the middle. Beaten far too easily by Embarba to cross for de Tomas.
MF Toni Kroos, 4 -- His first Real Madrid start since May, playing as the deepest midfielder with Casemiro rested. Looked off the pace and was replaced after an hour.
MF Luka Modric, 5 -- Important even when he's not at his brilliant best, but Modric was well off that standard today.
MF Eduardo Camavinga, 6 -- Played on the left and looked busy. Caught by Embarba in the first half, and later carded himself. Taken off at half-time with a foot injury.
FW Federico Valverde, 7 -- Probably the best of Madrid's midfield. Has started every LaLiga game this season and is benefitting from some continuity.
FW Karim Benzema, 8 -- A couple of decent chances in the first half. Led one sensational second-half move only to be denied a goal by the offside flag, and then curled in expertly to make it 2-1.
FW Rodrygo, 7 -- Played the second half on the right, as the team's shape improved.
MF Casemiro, 6 -- Replaced Kroos at 2-0 down. Always, always missed when he's out of the team.
FW Luka Jovic, 7 -- Caught narrowly offside when Benzema thought he'd scored, and then contributed to his goal shortly afterwards.
FW Eden Hazard, N/R -- Played the last 20 minutes, on for Vinicius. Took his chance so well, only for the flag to go up.