Real Madrid vs RB Leipzig

21 October 2026 · Champions League · Matchday 3 · 2026/27 · Referee Istvan Kovacs

Full time 4 – 1

Half-time: 1–0

  • Bernardo Silva 44’
  • Arda Güler 52’
  • Kylian Mbappé 83’
  • Yan Diomande 87’
  • Tidiam Gomis 85’

Match summary

Real Madrid won comfortably, 4-1 at home to RB Leipzig. Real Madrid led 1-0 at half-time.

In the first half, Bernardo Silva put Real Madrid ahead in the 44th minute. In the second half, Arda Güler made it 2-0 in the 52nd minute, Kylian Mbappé made it 3-0 in the 83rd minute, Tidiam Gomis pulled one back to make it 3-1 in the 85th minute, and Yan Diomande made it 4-1 in the 87th minute.

The chances backed that up: Real Madrid created 3.37 expected goals (xG) from 18 shots to RB Leipzig's 1.44 from 11.

Match stats

64% Possession 36%
18 Shots 11
11 Shots on target 6
7 Corners 1
97 Attacks 64
56 Dangerous attacks 40
743 Passes 405
91.4% Pass accuracy 87.7%
14 Tackles 13
13 Fouls 12
1 Yellow cards 1
3 Offsides 2

Key events

Real Madrid RB Leipzig
Kick-off
Corner
11’
20’
Ridle BakuShot on target
28’
RômuloShot on target
28’
Corner
Vinícius JúniorShot on target
29’
Corner
30’
33’
RômuloShot on target
41’
Christopher NkunkuShot on target
Bernardo Silva1-0 (Real Madrid)
43’
Arda GülerShot on target
43’
Vinícius JúniorShot on target
45’
Corner
45’
Half-time1-0
Second half underway
Federico ValverdeShot on target
47’
Corner
47’
Arda GülerLeft foot shot2-0 (Real Madrid)
52’
Arda GülerShot on target
58’
Corner
62’
Eduardo CamavingaShot on target
67’
68’
70’
Corner
72’
75’
Max FinkgräfeShot on target
Kylian MbappéRight foot shot3-0 (Real Madrid)
83’
85’
Tidiam GomisRight foot shot3-1 (RB Leipzig)
Yan DiomandeRight foot shot4-1 (Real Madrid)
87’
Corner
90+3’
Full-time4-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 0’ 15’ 30’ 45’ 60’ 75’ 90’ HT 3.37 1.44 44’ Bernardo Silva (Real Madrid), 1-0 44’ 52’ Arda Güler (Real Madrid), 2-0 52’ 83’ Kylian Mbappé (Real Madrid), 3-0 83’ 85’ Tidiam Gomis (RB Leipzig), 3-1 85’ 87’ Yan Diomande (Real Madrid), 4-1 87’ 0 1 2 3 4 0’ 15’ 30’ 45’ 60’ 75’ 90’ HT 3.37 1.44 44’ Bernardo Silva (Real Madrid), 1-0 Silva 44’ 52’ Arda Güler (Real Madrid), 2-0 Güler 52’ 83’ Kylian Mbappé (Real Madrid), 3-0 Mbappé 83’ 85’ Tidiam Gomis (RB Leipzig), 3-1 Gomis 85’ 87’ Yan Diomande (Real Madrid), 4-1 Diomande 87’
Real Madrid 3.37 xGRB Leipzig 1.44 xG Goal

Tap a goal for the scorer and score.

Shot map

Every shot and where it was taken from.

 RB Leipzig attacking Real Madrid attacking 
52’ Arda Güler (Real Madrid), open play, 0.98 xG, goal 44’ Bernardo Silva (Real Madrid), open play, 0.96 xG, goal 85’ Tidiam Gomis (RB Leipzig), open play, 0.45 xG, goal 43’ Arda Güler (Real Madrid), open play, 0.40 xG, saved 41’ Christopher Nkunku (RB Leipzig), open play, 0.36 xG, saved 55’ Kylian Mbappé (Real Madrid), open play, 0.20 xG, off target 33’ Rômulo (RB Leipzig), open play, 0.17 xG, saved 29’ Vinícius Júnior (Real Madrid), open play, 0.14 xG, saved 20’ Kylian Mbappé (Real Madrid), open play, 0.12 xG, off target 57’ Rômulo (RB Leipzig), set piece, 0.13 xG, off target 52’ Kylian Mbappé (Real Madrid), open play, 0.11 xG, blocked 58’ Arda Güler (Real Madrid), open play, 0.10 xG, saved 28’ Rômulo (RB Leipzig), open play, 0.10 xG, saved 79’ Rômulo (RB Leipzig), open play, 0.07 xG, off target 68’ Antonio Nusa (RB Leipzig), open play, 0.06 xG, off target 47’ Federico Valverde (Real Madrid), open play, 0.06 xG, saved 83’ Kylian Mbappé (Real Madrid), open play, 0.05 xG, goal 87’ Yan Diomande (Real Madrid), open play, 0.05 xG, goal 89’ Carlos Espí (Real Madrid), open play, 0.05 xG, hit the woodwork 32’ Antonio Nusa (RB Leipzig), open play, 0.04 xG, blocked 20’ Ridle Baku (RB Leipzig), open play, 0.03 xG, saved 67’ Jude Bellingham (Real Madrid), open play, 0.03 xG, off target 39’ Jude Bellingham (Real Madrid), open play, 0.03 xG, off target 45’ Vinícius Júnior (Real Madrid), open play, 0.03 xG, saved 63’ Vinícius Júnior (Real Madrid), open play, 0.02 xG, blocked 75’ Max Finkgräfe (RB Leipzig), set piece, 0.02 xG, saved 86’ Ridle Baku (RB Leipzig), open play, 0.02 xG, off target 67’ Eduardo Camavinga (Real Madrid), open play, 0.01 xG, saved 73’ Federico Valverde (Real Madrid), from a corner, 0.01 xG, off target 52’ Arda Güler (Real Madrid), open play, 0.98 xG, goal 44’ Bernardo Silva (Real Madrid), open play, 0.96 xG, goal 85’ Tidiam Gomis (RB Leipzig), open play, 0.45 xG, goal 43’ Arda Güler (Real Madrid), open play, 0.40 xG, saved 41’ Christopher Nkunku (RB Leipzig), open play, 0.36 xG, saved 55’ Kylian Mbappé (Real Madrid), open play, 0.20 xG, off target 33’ Rômulo (RB Leipzig), open play, 0.17 xG, saved 29’ Vinícius Júnior (Real Madrid), open play, 0.14 xG, saved 57’ Rômulo (RB Leipzig), set piece, 0.13 xG, off target 20’ Kylian Mbappé (Real Madrid), open play, 0.12 xG, off target 52’ Kylian Mbappé (Real Madrid), open play, 0.11 xG, blocked 58’ Arda Güler (Real Madrid), open play, 0.10 xG, saved 28’ Rômulo (RB Leipzig), open play, 0.10 xG, saved 79’ Rômulo (RB Leipzig), open play, 0.07 xG, off target 47’ Federico Valverde (Real Madrid), open play, 0.06 xG, saved 68’ Antonio Nusa (RB Leipzig), open play, 0.06 xG, off target 87’ Yan Diomande (Real Madrid), open play, 0.05 xG, goal 89’ Carlos Espí (Real Madrid), open play, 0.05 xG, hit the woodwork 83’ Kylian Mbappé (Real Madrid), open play, 0.05 xG, goal 32’ Antonio Nusa (RB Leipzig), open play, 0.04 xG, blocked 20’ Ridle Baku (RB Leipzig), open play, 0.03 xG, saved 39’ Jude Bellingham (Real Madrid), open play, 0.03 xG, off target 67’ Jude Bellingham (Real Madrid), open play, 0.03 xG, off target 45’ Vinícius Júnior (Real Madrid), open play, 0.03 xG, saved 63’ Vinícius Júnior (Real Madrid), open play, 0.02 xG, blocked 75’ Max Finkgräfe (RB Leipzig), set piece, 0.02 xG, saved 86’ Ridle Baku (RB Leipzig), open play, 0.02 xG, off target 67’ Eduardo Camavinga (Real Madrid), open play, 0.01 xG, saved 73’ Federico Valverde (Real Madrid), from a corner, 0.01 xG, off target
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
Carreras 70’
Rüdiger
Huijsen
Valverde
Silva
Camavinga
Júnior 70’
Güler 78’
Bellingham 88’
Mbappé 88’
RB Leipzig 4-2-3-1 Starting XI
Vandevoordt
Raum 73’
Orbán
Lukeba
Baku
Seiwald
Aynaoui 63’
Nusa 73’
Nkunku 78’
Gruda 63’
Rômulo

Player stats

Goalkeeper1 player
90′ – – –
Defenders4 players
90′ – – –
90′ – – –
Álvaro Carreras Taken off
70′ 3 1 – 4 – 59 2 – –
Marc Cucurella Came on as a substitute
20′ – – –
Midfielders6 players
90′ – – – – –
90′ 1 – – – –
Eduardo Camavinga
90′ – – 71 – – 4 1 14 5 4 –
Arda Güler Taken off
78′ 1 – – – –
Jude Bellingham Taken off
88′ – – – – –
Vinícius Júnior Taken off
70′ – – 35 – – 2 – 4 – 2 –
Forwards5 players
Kylian Mbappé Taken off
88′ 1 – 4 0.48 – – –
Yan Diomande Came on as a substitute
20′ 1 – 1 0.05 – – –
Brahim Díaz Came on as a substitute
12′ – – – – – – –
Endrick Came on as a substitute
2′ – – – – – – –
Carlos Espí Came on as a substitute
2′ – – 1 – 0.05 – – – – 1 –
Came on Taken off Sent off Red is the most in that position for the team

Every player who took the pitch, starters first and then substitutes. A dash means none. xG and xA are expected goals and assists. A blank cell means that figure is not available for that player.

Form going into the game

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

Previous and next meeting

Shots, expected goals, timeline, lineups, team and player statistics from Bzzoiro Sports Data (sports.bzzoiro.com). Results from Bzzoiro Sports Data.