Karim Benzema scored the only goal of the game after 13 minutes as Real Madrid beat Rayo Vallecano at the Bernabeu on Saturday.
It was a third consecutive La Liga victory, but Madrid again failed to sparkle and had to endure booing from their unhappy supporters.
Benzema beat a poorly constructed Rayo offside trap to score and Toni Kroos came close to doubling Madrid's advantage later in the first half when he struck a post from outside the box.
The win put Santiago Solari's side up to third place in the standings on 29 points, one clear of fourth-placed Sevilla who host Girona on Sunday and two behind champions and leaders Barcelona, who visit Levante, and Atletico Madrid.
Madrid, who were also booed off on Wednesday after losing 3-0 to CSKA Moscow, their worst-ever home defeat in European competition, continued to suffer defensively at the back.
They leaked plenty of chances to their neighbours, who are fighting relegation and have only won twice all season.
Rayo defender Emiliano Velazquez came desperately close to equalising with a bullet header from a corner shortly after Benzema's goal.
Then, as the visitors laid siege to Madrid's goal in the closing stages, it took an impressive double save from Thibaut Courtois in stoppage time to prevent Rayo from grabbing a point.
Even though the European champions weathered the storm, it did not stop the infamously demanding Santiago Bernabeu crowd from raining down boos on their team.
It was a far from ideal send-off in their final league game of 2018 before they fly to Abu Dhabi to defend their Club World Cup title.