Real Madrid were held to a goalless draw by Rayo Vallecano, who are enjoying their best form of the season. Iñigo Pérez’s side had lost just one of their previous eight matches (a 3–0 defeat at La Cerámica) and extended that good run with another solid performance.

Courtois: The Madrid goalkeeper had little to do, aside from a save to deny Ratiu.
Valverde (83′): With Tchouameni injured, it looked as though Valverde would finally get a chance to play in midfield, or perhaps on the right wing following Mastantuono’s groin problem. It wasn’t to be. The ‘Falcon’ once again operated from the right flank, but the introduction of Pacha Espino in a double full-back role restricted his influence. The Uruguayan eventually went off injured.
Asencio: The Canary Islander, who made his Real Madrid debut exactly a year ago, returned to the starting line-up after featuring for just 22 minutes in the last three matches (all against Valencia). He came close to scoring in the 23rd minute with a header that brushed the post, and was commanding defensively throughout.
Huijsen (46′): The young defender had a solid first half but was substituted at the break after picking up a yellow card in the 36th minute for a challenge on Álvaro García.
Carreras: Despite receiving defensive support from Vinícius, the full-back from Ferrol struggled to contain Rayo’s attacks, with most of their best chances coming down his side.
Güler: Playing deep in midfield, he was still one of Madrid’s most threatening players, testing Batalla with several long-range efforts.
Camavinga (78′): With Brahim returning to the starting eleven, Camavinga moved back into his natural midfield position after spending recent matches out wide (though he eventually drifted there again before being replaced by Rodrygo). True to form, he was Madrid’s most effective ball-winner in the first half, with three recoveries.
Bellingham: Closely marked by Pathé Ciss throughout, the Englishman found little space or influence. The Senegalese midfielder tracked him diligently, limiting his impact.
Brahim Díaz (71′): Provided an excellent cross for Asencio that almost led to the opener. Showed flashes of skill but struggled to sustain his influence.
Mbappé: A quiet evening for the league’s top scorer. He was Madrid’s least involved player in the first half, with only 11 touches and four accurate passes. Things didn’t improve much after the break.
Vinícius: Began the match with impressive defensive commitment, helping to contain Ratiu’s runs (only Huijsen and Camavinga recorded more defensive actions by half-time). He forced Batalla into a fine early save and looked lively and sharp in the first half, but his influence faded as the game wore on, both in attack and defence.
Substitutes:
Militao (46′): Replaced Huijsen at half-time and dominated in the air.
Ceballos (71′): Brought on to add control as Madrid began to lose their grip on the game.
Rodrygo (79′): Came on down the right but made little impact.
Trent (83′): Expected to start but was only introduced in the closing minutes and barely featured.
