Villarreal 1-2 Real Madrid Player Ratings: Kylian Mbappe Brace Helps Los Blancos Produce Clinical Comeback In La Liga Clash
Real Madrid produced a gritty comeback to get a 2-1 win over Villarreal in the La Liga clash on Saturday (15 March, 2025). After the hosts took a lead through Juan Foyth’s clever strike, Kylian Mbappe powered the comeback for his side by scoring two goals in the first half to help them get away with a sneaky win.
Villarreal started the game in blistering fashion, troubling Los Blancos with their quick movement and troublesome attacking moves. Ayoze Perez tested Thibaut Courtois with the first chance in the 5th minute, but his meek shot was easily saved. Two minutes later, Perez received the ball outside the box and struck a venomous shot that forced a stellar stop from the Belgian goalkeeper.
However, the hosts took the lead in the 7th minute when Juan Foyth capitalized on a defensive error from a corner to put his side in the lead. Real Madrid were rattled by that, as winger Tajon Buchanan hitting a shot over the bar in the 10th minute. Real Madrid, however, started to recover from the shaky start and scored one against the run of play in the 17th minute as Kylian Mbappe scored from the rebound of Brahim Diaz’s shot being saved.
Villarreal almost regained the lead a minute after, as Pape Gueye’s powerful long-ranger was saved impressively. Real Madrid took the lead in the 23rd minute after a razor-sharp counterattack was finished off by Mbappe‘s emphatic finish. Mbappe was flying high on momentum and linked up nicely with Rodrygo in the 30th minute, but the winger’s shot struck the side-netting.
Some late drama happened towards the end of the first half. Rodrygo had a shot saved well in the 44th minute, before Courtois produced another sharp save to deny Nicolas Pepe in stoppage time in a thrilling end to the half.
Villarreal were full of energy levels to begin the second half, with substitute Thiero Bary hitting a header over the bar in the 49th minute. Four minutes later, Foyth’s volley attempt went over the bar. Perez got another shot at goal in the 58th minute, but his attempt was easily denied by Courtois.
Alex Baena then saw two shots on goal denied by the goalkeeper in the 59th minute and 66th minute. Los Blancos also saw a penalty shout denied in the 66th minute, when Fede Valverde’s pass seemingly struck Alfonso Pedraza’s hand. Fede Valverde witnessed a powerful shot saved in the 80th, while Ayoze Perez wasted a huge chance from close range in the 84th minute by skying a powerful shot over the bar. Ultimately, Real Madrid hung on to somehow get the three points and maintain their place on top of the La Liga table.
Villarreal Player Ratings

GK – Diego Conde – 5.5/10
The Villarreal no.1 made a few routine saves to deny the visitors, but was indecisive for the goals. Caught in an awkward position for Mbappe’s first goal and couldn’t do much for his expert finish for the second.
RB – Juan Foyth – 8/10
Foyth led like a leader, being energetic and decisive with his challenges. He helped them start the game well, with an instinctive close range tap-in for the opening goal. Almost came close to another goal with a clever attempt in the second. Defensively proactive, winning a number of key tackles and duels to neutralize Real Madrid’s threat.
CB – Willy Kambwala – 4/10
Kambwala’s inexperience showed as he was given a humbling by Mbappe. Failed to mark his countryman properly, being unable to block his first goal and found in a bad position for his second. Couldn’t make any tackles or interceptions.
CB – Logan Costa – 4.5/10
Costa couldn’t really handle Real Madrid’s fast-breaks nor hold together a sturdy defensive line. Caught in a bad position for Mbappe’s second goal.
LB – Sergi Cardona – 5.5/10
Cardona failed to really replicate Foyth’s heroics, struggling to keep out Real Madrid through his side. He made a few nice challenges, but was booked for a nasty challenge and caught stranded for the second goal.
CM – Pape Gueye – 6.5/10
The Senegalese midfielder was an energetic and vibrant figure in the midfield, not allowing the visitors too much dominance through central areas. He tested Courtois with a sharp shot in the first half and was defensively solid, winning a number of key challenges.
CM – Santi Comesana – 7.5/10
Comesana was like the heart of Villarreal’s quality in terms of creating chances and moving the ball forward. He created a number of chances with his unpredictable final passes and worked hard to win duels in midfield.
RW – Tajon Buchanan – 5/10
The winger had a bright start to the game, creating some nice chances in the early minutes. But he lost his unpredictability as things moved on, failing to add anything special through that right wing.
LW – Alex Baena – 6.5/10
The Spaniard was a menacing figure with his crosses, creating a number of chances with his set-piece delivery. It was his clever cross that caused the first goal, while Baena also tested Courtois with a few nice efforts.
CF – NIcolas Pepe – 6/10
Pepe was involved in some lively moments in the first half, getting into a few nice areas past the Real Madrid backline. Most of his shots were harmless, but saw a powerful right-footed attempt denied well towards the end before being substituted at half-time.
CF – Ayoze Perez – 5/10
Perez began the game in blistering fashion, testing the goalkeeper with two powerful shots. Had another attempt saved in the second half, but couldn’t be at his most clinical in finishing things off. Totally skied a huge shot over the bar late in the second half.
SUB – Thierno Bary – 6/10
Bary almost made an instant impact soon after coming on, with his strong header going over the post minutes into the second half. But couldn’t get at the end of anything big after that.
SUB – Alfonso Pedraza – 5.5/10
Pedraza looked a bit uncomfortable in defending against Real Madrid’s quick counter-attacks after coming on.
SUB – Yeremi Pino – 5.5/10
Pino was not really able to create anything significant in the final bits of the game.
SUB – Daniel Parejo – 5.5/10
Parejo helped to move the ball along nicely through the central areas, but failed to add any creative boost.
SUB – Denis Suarez – N/R
A meek little cameo from the midfielder.
Manager – Marcelino Garcia – 5.5/10
To his credit, Marcelino ensured that his side shocked Real Madrid with an exhilarating start. He ensured his players pressed the Real Madrid players and constantly attacked them with direct attacking moves. Despite the good start, his side were too lackluster in defending against counter-attacks and his inexperienced defensive line cost him big. His substitutions failed to impress either.
Real Madrid Player Ratings

GK – Thibaut Courtois – 8/10
Courtois played a big role in ensuring that Real Madrid didn’t concede more than one. Couldn’t do anything about Foyth’s goal, but he was excellent in goal. Made eight saves, showcasing excellent reflexes and movement for a few efforts.
RB – Lucas Vazquez – 7/10
Vazquez started the game shakily, with his questionable positioning giving the hosts a lot of encouragement. Improved after the shaky start, winning key duels and stopping a number of Villarreal’s attacks. Cleverly picked out Mbappe with a smart cut-back for his second goal.
CB – Aurelien Tchouameni – 6/10
Tchouameni had a horrid start to the game, not being able to properly read Villarreal’s move. He was caught in a bad positioning leading to the opener. Improved after that, making 11 clearances!
CB – Raul Asencio – 7.5/10
The young centre-back was arguably the most error-free defender on the night. He was excellent with his positioning, allowing him to make a number of crucial clearances and interceptions. Taken off at the hour mark.
LB – Fran Garcia – 6.5/10
Garcia was defensively quite diligent, working hard to neutralize a lot of Villarreal’s attacking thrust down his side. He made a number of key challenges and showcased nice energy on the left.
CM – Eduardo Camavinga – 7.5/10
Camavinga was the engine of Real Madrid’s midfield, moving all around the midfield areas and pressing the opposition players sharply. He made a number of key interceptions and won a lot of major duels, raising the energy levels of his side. Made a huge goal-saving clearance late on.
CM – Federico Valverde – 7/10
Valverde was slow to get into the game, but started to dictate things in midfield once getting into the rhythm. The Uruguayan midfielder covered a lot of ground in regaining possession and moving the ball forward sharply, taking the fight to the visitors.
RW – Brahim Diaz – 5.5/10
Diaz struggled to really control things in the opposition side for his side, and he couldn’t create anything noteworthy from the right-wing. His only notable contribution was linking up with Mbappe for his first goal.
AM – Jude Bellingham – 6/10
Bellingham wasn’t really able to create any major chances or get the end of anything in this game. But he played a key role as the link-up from defence to attack, moving the ball forward in the transitions and being a driving force for his side.
LW – Rodrygo – 5.5/10
The Brazilian winger lacked the drive and unpredictability of Vini Jr on the left wing. Had a few tame efforts saved well and nicely linked with Mbappe, but failed to get at the end of anything dangerous.
CF – Kylian Mbappe – 9/10
A highly clinical display from Mbappe helped claw Real Madrid back after a horrible start. He produced a poacher’s finish for his first goal before managing a beautiful top corner finish for the second goal. A tormenting factor with his clever movement and linked up attacking moves nicely too.
SUB – Vinicius Jr – 5.5/10
Vinicius Jr added more drive to his side through the left flank, carrying the ball forward with a few nice runs. However, he lacked the final product, not getting his final passes well.
SUB – Antonio Rudiger – 6/10
Rudiger helped add a bit more steel to his side’s backline, ensuring they did not concede any goals after the hour-mark.
SUB – Luka Modric – 6/10
Modric helped improve the energy levels of his side through the midfield. Moved the ball forward nicely and added more urgency to his teammates.
SUB – Arda Guler – 5/10
Got at the end of a decent chance in the late stages, but skied his shot way past the goal.
Manager – Carlo Ancelotti – 5.5/10
The Italian manager took a risk by starting two players (Vazquez and Tchouameni) in the backline, despite not being natural defenders. That cost him early on, as the majority of Villarreal’s attacking threat came through that right side. His side looked lackluster in the first half and failed to properly control the game. Fortunately for Ancelotti, individual brilliance saved him but his overall approach was questionable.
Sportsdunia’s Man of the Match for the match goes to Kylian Mbappe.
What was the result of Villarreal vs Real Madrid?
Villarreal 1-2 Real Madrid.
When was Villarreal vs Real Madrid?
Villarreal vs Real Madrid was held at the Estadio de la Cerámica, Villarreal at 5:30 PM GMT on March 15, 2025.
Who was the Man of the Match in Villarreal vs Real Madrid?
Kylian Mbappe was the Man of the Match in the Villarreal vs Real Madrid match.
Who was the worst player in Villarreal vs Real Madrid?
The worst player in Villarreal vs Real Madrid was Willy Kambwala.