Real Madrid vs Villarreal

4 October 2025 · La Liga · 2025/26 · Referee Guillermo Cuadra Fernández

Full time 3 – 1

Half-time: 0–0

  • Vinícius Júnior 47’, 69’ (pen)
  • Kylian Mbappe-Lottin 81’
  • Georges Mikautadze 73’

Match summary

Real Madrid won 3-1 at home to Villarreal. It was goalless at half-time.

Vinícius Júnior put Real Madrid ahead in the 47th minute, set up by Kylian Mbappe-Lottin, Júnior made it 2-0 from the penalty spot in the 69th minute, Georges Mikautadze pulled one back to make it 2-1 in the 73rd minute, set up by Pape Alassane Gueye, and Kylian Mbappe-Lottin made it 3-1 in the 81st minute, set up by Brahim Diaz.

The chances backed that up: Real Madrid created 4.33 expected goals (xG) from 26 shots to Villarreal's 0.96 from 9. Villarreal had a player sent off.

Match stats

70% Possession 30%
26 Shots 9
7 Shots on target 2
4 Corners 0
133 Attacks 69
96 Dangerous attacks 28
711 Passes 317
92% Pass accuracy 81%
26 Tackles 29
9 Fouls 14
2 Yellow cards 4
0 Red cards 1
0 Offsides 0

Key events

Real Madrid Villarreal
Kick-off
12’
Kylian Mbappe-LottinShot on target
20’
21’
33’
41’
Tani OluwaseyiShot on target
45+1’
Half-time0-0
Second half underway
Vinicius JuniorRight foot shot1-0 (Real Madrid)
47’
Vinicius JuniorPenalty2-0 (Real Madrid)
69’
69’
Pape GueyeArgument
Jude BellinghamShot on target
72’
Jude BellinghamShot on target
72’
73’
Georges MikautadzeRight foot shot2-1 (Villarreal)
77’
Santiago MouriñoSecond yellowFoul
Vinícius JúniorShot on target
80’
Kylian MbappéRight foot shot3-1 (Real Madrid)
81’
83’
86’
Dani ParejoSanti Comesaña
Full-time3-1

How the chances added up

Running total of expected goals (xG) for each side through the match. xG rates each chance by how often similar shots are scored. A goal is marked where it was scored.

0 1 2 3 4 5 0’ 15’ 30’ 45’ 60’ 75’ 90’ HT 4.33 0.96 47’ Vinícius Júnior (Real Madrid), 1-0 47’ 69’ Vinícius Júnior (Real Madrid), 2-0 69’ 73’ Georges Mikautadze (Villarreal), 2-1 73’ 81’ Kylian Mbappe-Lottin (Real Madrid), 3-1 81’ 0 1 2 3 4 5 0’ 15’ 30’ 45’ 60’ 75’ 90’ HT 4.33 0.96 47’ Vinícius Júnior (Real Madrid), 1-0 Júnior 47’ 69’ Vinícius Júnior (Real Madrid), 2-0 Júnior 69’ 73’ Georges Mikautadze (Villarreal), 2-1 Mikautadze 73’ 81’ Kylian Mbappe-Lottin (Real Madrid), 3-1 Mbappe-Lottin 81’
Real Madrid 4.33 xGVillarreal 0.96 xG Goal

Tap a goal for the scorer and score.

Shot map

Every shot and where it was taken from.

 Villarreal attacking Real Madrid attacking 
69’ Vinícius Júnior (Real Madrid), penalty, 0.74 xG, goal 41’ Tani Oluwaseyi (Villarreal), open play, 0.60 xG, saved 72’ Jude Bellingham (Real Madrid), open play, 0.55 xG, saved 27’ Aurelien Tchouameni (Real Madrid), set piece, 0.51 xG, off target 81’ Kylian Mbappe-Lottin (Real Madrid), open play, 0.49 xG, goal 22’ Aurelien Tchouameni (Real Madrid), open play, 0.41 xG, off target 22’ Franco Mastantuono (Real Madrid), open play, 0.40 xG, blocked 80’ Vinícius Júnior (Real Madrid), open play, 0.30 xG, saved 72’ Jude Bellingham (Real Madrid), open play, 0.14 xG, saved 56’ Dean Huijsen (Real Madrid), open play, 0.12 xG, off target 90’ Brahim Diaz (Real Madrid), open play, 0.12 xG, blocked 42’ Alberto Moleiro (Villarreal), open play, 0.10 xG, off target 60’ Nicolas Pepe (Villarreal), open play, 0.09 xG, blocked 80’ Vinícius Júnior (Real Madrid), open play, 0.09 xG, blocked 37’ Arda Güler (Real Madrid), direct free kick, 0.06 xG, blocked 73’ Georges Mikautadze (Villarreal), open play, 0.06 xG, goal 7’ Arda Güler (Real Madrid), open play, 0.05 xG, off target 90+4’ Jude Bellingham (Real Madrid), open play, 0.04 xG, blocked 45’ Franco Mastantuono (Real Madrid), open play, 0.04 xG, off target 90+2’ Eduardo Camavinga (Real Madrid), open play, 0.03 xG, off target 20’ Kylian Mbappe-Lottin (Real Madrid), open play, 0.03 xG, saved 47’ Vinícius Júnior (Real Madrid), open play, 0.03 xG, goal 23’ Franco Mastantuono (Real Madrid), from a corner, 0.03 xG, off target 88’ Georges Mikautadze (Villarreal), open play, 0.03 xG, off target 20’ Tani Oluwaseyi (Villarreal), open play, 0.03 xG, off target 56’ Aurelien Tchouameni (Real Madrid), open play, 0.03 xG, blocked 60’ Pape Alassane Gueye (Villarreal), open play, 0.02 xG, blocked 64’ Kylian Mbappe-Lottin (Real Madrid), open play, 0.02 xG, off target 74’ Thomas Partey (Villarreal), open play, 0.02 xG, blocked 37’ Arda Güler (Real Madrid), set piece, 0.02 xG, off target 25’ Dean Huijsen (Real Madrid), open play, 0.02 xG, blocked 43’ Vinícius Júnior (Real Madrid), open play, 0.02 xG, blocked 90+4’ Federico Valverde (Real Madrid), open play, 0.02 xG, off target 9’ Federico Valverde (Real Madrid), open play, 0.01 xG, blocked 30’ Thomas Partey (Villarreal), open play, 0.01 xG, blocked 69’ Vinícius Júnior (Real Madrid), penalty, 0.74 xG, goal 41’ Tani Oluwaseyi (Villarreal), open play, 0.60 xG, saved 72’ Jude Bellingham (Real Madrid), open play, 0.55 xG, saved 27’ Aurelien Tchouameni (Real Madrid), set piece, 0.51 xG, off target 81’ Kylian Mbappe-Lottin (Real Madrid), open play, 0.49 xG, goal 22’ Aurelien Tchouameni (Real Madrid), open play, 0.41 xG, off target 22’ Franco Mastantuono (Real Madrid), open play, 0.40 xG, blocked 80’ Vinícius Júnior (Real Madrid), open play, 0.30 xG, saved 72’ Jude Bellingham (Real Madrid), open play, 0.14 xG, saved 56’ Dean Huijsen (Real Madrid), open play, 0.12 xG, off target 90’ Brahim Diaz (Real Madrid), open play, 0.12 xG, blocked 42’ Alberto Moleiro (Villarreal), open play, 0.10 xG, off target 80’ Vinícius Júnior (Real Madrid), open play, 0.09 xG, blocked 60’ Nicolas Pepe (Villarreal), open play, 0.09 xG, blocked 37’ Arda Güler (Real Madrid), direct free kick, 0.06 xG, blocked 73’ Georges Mikautadze (Villarreal), open play, 0.06 xG, goal 7’ Arda Güler (Real Madrid), open play, 0.05 xG, off target 90+4’ Jude Bellingham (Real Madrid), open play, 0.04 xG, blocked 45’ Franco Mastantuono (Real Madrid), open play, 0.04 xG, off target 20’ Kylian Mbappe-Lottin (Real Madrid), open play, 0.03 xG, saved 90+2’ Eduardo Camavinga (Real Madrid), open play, 0.03 xG, off target 47’ Vinícius Júnior (Real Madrid), open play, 0.03 xG, goal 88’ Georges Mikautadze (Villarreal), open play, 0.03 xG, off target 20’ Tani Oluwaseyi (Villarreal), open play, 0.03 xG, off target 23’ Franco Mastantuono (Real Madrid), from a corner, 0.03 xG, off target 56’ Aurelien Tchouameni (Real Madrid), open play, 0.03 xG, blocked 60’ Pape Alassane Gueye (Villarreal), open play, 0.02 xG, blocked 64’ Kylian Mbappe-Lottin (Real Madrid), open play, 0.02 xG, off target 74’ Thomas Partey (Villarreal), open play, 0.02 xG, blocked 37’ Arda Güler (Real Madrid), set piece, 0.02 xG, off target 43’ Vinícius Júnior (Real Madrid), open play, 0.02 xG, blocked 25’ Dean Huijsen (Real Madrid), open play, 0.02 xG, blocked 90+4’ Federico Valverde (Real Madrid), open play, 0.02 xG, off target 9’ Federico Valverde (Real Madrid), open play, 0.01 xG, blocked 30’ Thomas Partey (Villarreal), open play, 0.01 xG, blocked
Size shows xG Goal On target Off target or blocked

Hover or tap a shot for the player, minute and xG.

Lineups

Real Madrid 4-2-3-1 Starting XI
Courtois
Valverde
Militão
Huijsen
Carreras
Tchouaméni
Ceballos 64’
Mastantuono 75’
Güler 64’
Junior 2
Mbappé 83’
Villarreal 4-4-2 Starting XI
Tenas
Cardona
Veiga
Marín
Mouriño
Gueye 73’
Partey
Comesaña 86’
Buchanan 46’
Moleiro 46’
Oluwaseyi 82’

Player stats

PlayerPosMinGAShxGxAKPCards
Thibaut Courtois GK900 0.000.000
Federico Valverde DEF902 0.030.572
Eder Militão DEF900 0.000.000
Dean Huijsen DEF902 0.140.021
Álvaro Fernández DEF900 0.000.041
Aurelien Tchouameni MID903 0.950.000
Dani Ceballos MID650 0.000.031
Franco Mastantuono MID763 0.470.511
Arda Güler MID653 0.130.021
Vinícius Júnior MID9025 1.180.756
Kylian Mbappe-Lottin FWD84113 0.550.483
Eduardo Camavinga Sub251 0.030.000
Jude Bellingham Sub253 0.730.121
Brahim Diaz Sub1411 0.120.491
Rodrygo Sub60 0.000.031

Starters first, then substitutes. xA is expected assists.

Before kick-off

Real Madrid win 68% Avg odds 1.39
Draw 18% Avg odds 5.07
Villarreal win 14% Avg odds 6.76

Chances implied by the average closing odds, with the bookmaker margin removed.

Form going into the game

Last five league games before this one, oldest first. Select one to open it.

Previous and next meeting

Shots, expected goals and player data from Understat. Timeline, lineups and team statistics from Sportmonks. Results and odds from football-data.co.uk.