Real Madrid 1-0 Villarreal: Diomande strikes, Courtois holds firm
AI-written review based on match data · How we make it
Key numbers
- 0.09 vs 0.04 xG per shot: Madrid's chances were better
- Clean sheet kept through about 18 minutes after the red
- Villarreal's 0.64 xG: lowest in eight matches
Madrid win on quality, not volume
Real Madrid won 1-0 at home, and they did it with fewer shots than Villarreal managed. The difference was in what each attempt was worth: Madrid's chances carried 0.09 xG per shot against 0.04 for the visitors. Fewer, better shots told the story, with most of Madrid's efforts coming from inside the box.
Villarreal's season-low threat
Villarreal saw more of the ball but did little with it. Their 0.64 xG was the lowest of their eight matches this season, and eight of their shots were struck from outside the box, which helps explain a figure that low. The lowest xG of the season left Pape Gueye, their most frequent shooter, to hit the target twice.
Diomande's first league goal does it
The only goal arrived in the 62nd minute. Yan Diomande, a new face in the starting line-up, finished after an assist from Federico Valverde. Because it turned a goalless match into a lead, it was worth +1.0 FN xPts. A first league goal for Diomande, it was the one moment the match turned on.
Courtois protects the lead after the red
Vinícius Júnior was sent off in the 72nd minute, and Madrid played about 18 minutes with ten players. They did not concede. Four saves from Thibaut Courtois meant the lead survived that spell, and Madrid kept a clean sheet.
FN MOM
Highest FN Score · our own pick by a published formula, not the official Player of the Match
Yan Diomande 8.4Dominant
He scored the only goal and added three key passes and three tackles.
Diomande's work was spread right across the pitch: three key passes, five dribbles attempted, six of 14 duels won and three tackles. That breadth made his 62nd-minute goal count for more, because it broke a goalless match and handed Madrid roughly 28 minutes in front.
Game state
1-0
Real Madrid ahead 28 min · level 62 min · Villarreal ahead 0 min
- Real Madrid: Red card 72' → ~18 min a player down
FN xPts — what each moment was worth
How much each moment changed that team's expected points (win 3, draw 1). A goal's value is credited 70% to the scorer and 30% to the assist. The value next to a team code is what the same moment did to the other side's expected points; the decisive moment is the one with the largest combined change for both teams.
62'
Yan Diomande
Goal · scorer +0.7 · assist Federico Valverde +0.3 · VIL −0.7
+1.0
72'
Vinícius Júnior
Red card · VIL +0.1
−0.2
Real Madrid
Expected (last two seasons) 2.0Own moments +0.8Opponent moments 0.0Time effect +0.2→ League points won 3
Villarreal
Expected (last two seasons) 0.8Own moments 0.0Opponent moments −0.6Time effect −0.2→ League points won 0
Expected points don't add up to a fixed total (a draw is 1 + 1), so an opponent's moment isn't simply the mirror of your loss. "Time effect" is the change as the clock runs down on a lead or a chase, and isn't credited to any player.
How FN Score and FN xPts work →
Match stats
Real MadridVillarreal
0.99Expected goals (xG)0.64
Compared with usual
Real Madrid
8 matches this season, all competitions baseline
| This match | Avg | |
|---|
| Goals | 1 | 2.5 | |
| Conceded | 0 | 1.1 | |
| xG | 0.99 | 2.6 | |
| xG against | 0.64 | 1.1 | |
| Shots | 11 | 18.5 | |
| On target | 4 | 7.6 | |
| Shots faced | 15 | 13.8 | |
| xG per shot | 0.09 | 0.13 | |
| Possession | 46% | 50.4% | |
| Passes | 406 | 504.4 | |
| Corners | 9 | 6.5 | |
| Fouls | 8 | 8.9 | |
Villarreal
8 matches this season, all competitions baseline
| This match | Avg | |
|---|
| Goals | 0 | 1.9 | |
| Conceded | 1 | 1.9 | |
| xG | 0.64 | 2.2 | low |
| xG against | 0.99 | 1.5 | |
| Shots | 15 | 15.6 | |
| On target | 4 | 6.5 | low |
| Shots faced | 11 | 13.5 | |
| xG per shot | 0.04 | 0.14 | low |
| Possession | 54% | 60% | |
| Passes | 475 | 580.1 | low |
| Corners | 3 | 7.3 | |
| Fouls | 13 | 10.6 | |
Timeline
- 10'
Yellow
Renato Veiga
- 19'
Yellow
Jude Bellingham
- 45'
Sub
Álvaro Fernández → Marc Cucurella
- 52'
Sub
Trent Alexander-Arnold → Vinícius Júnior
- 56'
Sub
Santi Comesaña → Nathan-Dylan Saliba
- 56'
Sub
Juan Foyth → Carlos Romero
- 62'
Goal
Yan Diomande league goal #1 assist Federico Valverde
- 63'
VAR
Yan Diomande
- 67'
Sub
Ilias Akhomach → Gerard Moreno
- 67'
Sub
Sergi Cardona → Georges Mikautadze
- 68'
Yellow
José Mário dos Santos Mourinho Félix (coaching staff)
- 72'
VAR
Vinícius Júnior
- 72'
Red
Vinícius Júnior
- 77'
Sub
Arda Güler → Eduardo Camavinga
- 81'
Yellow
Ibrahima Konaté
- 83'
Yellow
Antonio Rüdiger
- 84'
Yellow
Pau Navarro
- 86'
Sub
Yan Diomande → Denzel Dumfries
- 86'
Sub
Alberto Moleiro → Nizar El Jmili
- 87'
Yellow
Aurélien Tchouaméni
- 90+4'
Yellow
Kylian Mbappé
Category leaders
- Key passesFederico Valverde3
- Duels wonAlexander Freeman11/17
- DribblesKylian Mbappé4/7
- Defensive actionsAlexander Freeman10
- ShotsPape Gueye4 (on target 2)
- Fouls wonJude Bellingham4
#Real Madrid#Villarreal#La Liga#Yan Diomande#Federico Valverde#Thibaut Courtois
This review was written by AI from match data (API-Football). FN Score and FN xPts are calculated by Fulltime Note using a published formula.