Real Madrid missed the chance to move within one point of La Liga leaders Barcelona after Martin Satriano's spectacular strike gave Getafe a shock win at the Bernabeu.
Match Report
Satriano scored the winner before half-time when his breathtaking volley nestled into Thibaut Courtois' top corner, condemning the hosts to a second successive league defeat.
It means Real remain four points behind Barca having both now played 26 games.
Madrid were again without Kylian Mbappe as the 27-year-old has struggled with an injury to the external ligament of his left knee since the end of 2025.
Getafe's stubborn defence frustrated Madrid throughout the game as the home side were unable to score past David Soria.
Vinicius Jr missed a golden opportunity to break the deadlock before Satriano's strike, denied by keeper Soria when through on goal.
Alvaro Arbeloa made three substitutions inside the first 10 minutes of the second half, with Trent Alexander-Arnold one of those to make way.
His side upped the tempo after the break, with the visitors looking most vulnerable from crosses into the box.
Antonio Rudiger sent a near-post header just wide, while substitute Rodrygo nodded an effort across goal and Dani Carvajal was unable to turn it in at the far post.
Real Madrid's night turned from bad to worse when Franco Mastantuono received a red card for abusive language towards referee Alejandro Muniz Ruiz in stoppage time.
Moments later, Getafe's Adrian Liso was also sent off after picking up a second yellow card for time wasting.
Arbeloa has now lost four out of his 12 games in charge, although he has had to make do without both Mbappe and England midfielder Jude Bellingham through injury.
Madrid next face Celta Vigo on Friday (20:00 GMT) as they look to avoid a third straight league defeat.
Match Events
39' GOAL! Real Madrid 0-1 Getafe (M. Satriano)
Line-ups
Real Madrid XI: Alaba, Courtois, Rudiger, Alexander-Arnold, Valverde, Tchouameni, Vinicius, Güler, Álvaro Carreras, Gonzalo García, Thiago Pitarch
Subs: Carvajal, F Mendy, Brahim, Lunin, Fran García, Rodrygo, Manuel Ángel, Dean Huijsen, César Palacios, Sergio Mestre, Franco Mastantuono, Jorge Cestero
Getafe XI: Femenia, Rico, Luis Milla, David Soria, Arambarri, Duarte, Juan Iglesias, Luis Vázquez, Zaid Romero, M. Satriano, Sebastián Boselli
Subs: Nyom, Munoz, Veljko Birmancevic, Jiri Letacek, Abdel Abqar, Mario Martín, Álex Sancris, Adrián Liso, Jorge Montes, Adrián Riquelme
Nam_So
109
🚨 𝗕𝗥𝗘𝗔𝗞𝗜𝗡𝗚: VAR completely ignored an aggression by Rüdiger on Rico. The German purposely looks at the player on the floor and stomps their face with his knee. It's a CLEAR RED CARD. ❌ BAN him for 10 gmaes
/MADRIDISTA
98
I swear Man City is going to thrash us like 5-0. This Real Madrid is the most useless Real Madrid team in the history of the club. Perez when they say buy players you say the players we have is enough, now deal with it. I’m just crying but my bet
SamiCamironezi
89
Barca and ManCity fans
Yungswag20
72
Doku after seeing Real Madrid performance against Haram ball team We will show Real Madrid some chucking skills 😂
Yungswag20
66
Bro never came back after this scape 😂
Dukekill
33
Gif here. Like me: https://www.matchgif.com/v2/live/matchGifs?match_id=54174051&language=en
Suah-K-FCB
32
Do know VAR was not existing for today game? Perize refused to pay their balance.
dougiefresh
8
Real Madrid are in Spain but the “S” is silent.😆😆😆😆😆😆
Successmt
8
I swear Man City is going to thrash us like 5-0. This Real Madrid is the most useless Real Madrid team in the history of the club. Perez when they say buy players you say the players we have is enough, now deal with it. I’m just crying but my bet
But ya'll need to deal with vini's mouth boy just can't shut for nothing he's sooooo damn loud it's pathetic