Full match player ratings below:
Andriy Lunin—7: Got the nod over Kepa as the starting keeper. Had little to do all night and nearly made a foot-save on the Morales goal.
Lucas Vazquez—8.5: Not many back-up right backs on the market can perform at this level. Brought down Toni Kroos’ cross-field switches with ease, was always an outlet to hit on the weakside, and beat his marker’s off the dribble. Notched an assist on the Rodrygo goal and was involved throughout the game. Solid both offensively and defensively.
Toni Rudiger—8: Another strong performance. It was Rudiger pressing just outside the Villarreal both that forced the yellow submarine to cough the ball up and lead to Modric’s goal (Real Madrid’s fourth on the night).
David Alaba—7: Devastating news as the Austrian has torn his ACL. Madrid will likely go to the market in search of a replacement.
Ferland Mendy—6: Played 45 minutes before coming off with a knock. Defended well, particularly as the last man against Gerard Moreno after a Villarreal counter following a Madrid corner kick.
Toni Kroos—8: Four key passes, 11/11 long balls completed — another impressive showing as a double pivot with Fede Valverde.
Fede Valverde—8.5: Locked in from minute one. Never let the noise or the tension from the Baena case get to his head. Disciplined throughout, often acting as a sweeper or a “false-right back” to deny Villarreal any counter-attacking opportunities. Has adapted perfectly to the double-pivot role.
Luka Modric—9.5: All the 38-year-old needed was a run of games and couple of back to back full 90 minute performances to operate at his absolute best. Was a joy to watch on the night, gliding across the field and constantly making his Madrid team tick. Finished the match with a game-high 5 key passes, 1 assist, and 1 goal that sentenced the match and put the nail in the coffin for Villarreal. His defensive work, particularly high-pressing efforts, was outstanding.
Jude Bellingham—8.5: Another goal added to the catalogue, now up to 17 on the season. Found incisive passes in the final third that not even his teammates thought were possible. Equally as impressive was his defensive work and some of the challenges he produced.
Brahim—8.5: Continues to prove himself as an important piece to this team and out-performing all expectations following his return from Milan. Scored a magnificent solo effort which included a world-class turn and his incredible two-footed ability.
Rodrygo—8: Another goal added to his tally (10 on the season) which makes his hot-streak now 15 goals or assists in his last 11 matches.
Joselu—N/A: Played last 6 minutes of the game in place of Brahim Diaz.
Fran Garcia—8: Best minutes from the fullback all season. For the first time in a Madrid shirt, played without fear. Hopefully can build on this momentum in future matches and second half of the season.
Dani Ceballos—6.5: Solid run-out for last 15 minutes, looking to connect the dots and keep the ball moving.
Tchouameni—N/A: Good to have the Frenchman back from injury and adding to the midfield depth.
Nacho—6.5: Solid performance with little to do, will be called upon as a starter full-time with Alaba’s injury.