Mainz vs Borussia Dortmund

25 January 2023 · Bundesliga · 2022/23 · Referee Sascha Stegemann

Full time 1 – 2

Half-time: 1–1

  • Jae-Sung Lee 2’
  • Julian Ryerson 4’
  • Giovanni Reyna 90+3’

Match summary

Borussia Dortmund came from behind to win 2-1 away at Mainz, with the winner arriving in stoppage time. It was 1-1 at half-time.

Jae-Sung Lee put Mainz ahead with a header in the 2nd minute, set up by Edimilson Fernandes, Julian Ryerson equalised in the 4th minute, set up by Niklas Süle, and Giovanni Reyna won it from a corner in stoppage time, set up by Sébastien Haller.

The chances backed that up: Borussia Dortmund created 1.16 expected goals (xG) from 11 shots to Mainz's 0.85 from 12.

Match stats

Mainz Borussia Dortmund
12 Shots 12
4 Shots on Target 6
2 Corners 3
2 Yellow Cards 0
0 Red Cards 0
0.85 xG 1.16
0.85 Non-penalty xG 1.16
5 Deep Completions 8

Key events

Mainz Borussia Dortmund
Kick-off
Jae-Sung Lee
Assist: Edimilson Fernandes
1-0 (Mainz)
2’
4’
Julian Ryerson
Assist: Niklas Süle
1-1 (Borussia Dortmund)
Half-time1-1
90+3’
Giovanni Reyna
Assist: Sébastien Haller
1-2 (Borussia Dortmund)
Full-time1-2

Bookings

Card times are not on file for this game, so they are listed without a minute.

Mainz
  • Edimilson Fernandes
  • Jae-Sung Lee

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.0 0.5 1.0 1.5 0’ 15’ 30’ 45’ 60’ 75’ 90’ HT 0.85 1.16 2’ Jae-Sung Lee (Mainz), 1-0 2’ 4’ Julian Ryerson (Borussia Dortmund), 1-1 4’ 90+3’ Giovanni Reyna (Borussia Dortmund), 1-2 90+3’ 0.0 0.5 1.0 1.5 0’ 15’ 30’ 45’ 60’ 75’ 90’ HT 0.85 1.16 2’ Jae-Sung Lee (Mainz), 1-0 Lee 2’ 4’ Julian Ryerson (Borussia Dortmund), 1-1 Ryerson 4’ 90+3’ Giovanni Reyna (Borussia Dortmund), 1-2 Reyna 90+3’
Mainz 0.85 xGBorussia Dortmund 1.16 xG Goal

Tap a goal for the scorer and score.

Shot map

Every shot and where it was taken from.

 Borussia Dortmund attacking Mainz attacking 
90+3’ Giovanni Reyna (Borussia Dortmund), from a corner, 0.42 xG, goal 8’ Youssoufa Moukoko (Borussia Dortmund), open play, 0.31 xG, saved 60’ Marcus Ingvartsen (Mainz), open play, 0.14 xG, off target 2’ Jae-Sung Lee (Mainz), from a corner, 0.13 xG, goal 87’ Anton Stach (Mainz), open play, 0.10 xG, off target 14’ Karim Adeyemi (Borussia Dortmund), open play, 0.09 xG, off target 68’ Jamie Bynoe-Gittens (Borussia Dortmund), open play, 0.09 xG, saved 50’ Marcus Ingvartsen (Mainz), open play, 0.07 xG, off target 83’ Leandro Barreiro Martins (Mainz), open play, 0.08 xG, saved 90+6’ Andreas Hanche-Olsen (Mainz), open play, 0.07 xG, saved 74’ Angelo Fulgini (Mainz), open play, 0.06 xG, saved 80’ Aymen Barkok (Mainz), open play, 0.06 xG, off target 57’ Karim Onisiwo (Mainz), open play, 0.05 xG, off target 59’ Karim Adeyemi (Borussia Dortmund), open play, 0.06 xG, off target 90+5’ Ludovic Ajorque (Mainz), open play, 0.06 xG, blocked 14’ Julian Brandt (Borussia Dortmund), open play, 0.04 xG, blocked 38’ Donyell Malen (Borussia Dortmund), open play, 0.04 xG, saved 58’ Karim Adeyemi (Borussia Dortmund), open play, 0.04 xG, off target 48’ Karim Adeyemi (Borussia Dortmund), open play, 0.03 xG, blocked 90+1’ Aarón Martín (Mainz), open play, 0.02 xG, off target 8’ Niklas Süle (Borussia Dortmund), from a corner, 0.02 xG, saved 29’ Leandro Barreiro Martins (Mainz), open play, 0.02 xG, off target 4’ Julian Ryerson (Borussia Dortmund), open play, 0.01 xG, goal 90+3’ Giovanni Reyna (Borussia Dortmund), from a corner, 0.42 xG, goal 8’ Youssoufa Moukoko (Borussia Dortmund), open play, 0.31 xG, saved 60’ Marcus Ingvartsen (Mainz), open play, 0.14 xG, off target 2’ Jae-Sung Lee (Mainz), from a corner, 0.13 xG, goal 87’ Anton Stach (Mainz), open play, 0.10 xG, off target 14’ Karim Adeyemi (Borussia Dortmund), open play, 0.09 xG, off target 68’ Jamie Bynoe-Gittens (Borussia Dortmund), open play, 0.09 xG, saved 50’ Marcus Ingvartsen (Mainz), open play, 0.07 xG, off target 83’ Leandro Barreiro Martins (Mainz), open play, 0.08 xG, saved 90+6’ Andreas Hanche-Olsen (Mainz), open play, 0.07 xG, saved 80’ Aymen Barkok (Mainz), open play, 0.06 xG, off target 59’ Karim Adeyemi (Borussia Dortmund), open play, 0.06 xG, off target 74’ Angelo Fulgini (Mainz), open play, 0.06 xG, saved 90+5’ Ludovic Ajorque (Mainz), open play, 0.06 xG, blocked 57’ Karim Onisiwo (Mainz), open play, 0.05 xG, off target 14’ Julian Brandt (Borussia Dortmund), open play, 0.04 xG, blocked 38’ Donyell Malen (Borussia Dortmund), open play, 0.04 xG, saved 58’ Karim Adeyemi (Borussia Dortmund), open play, 0.04 xG, off target 48’ Karim Adeyemi (Borussia Dortmund), open play, 0.03 xG, blocked 90+1’ Aarón Martín (Mainz), open play, 0.02 xG, off target 8’ Niklas Süle (Borussia Dortmund), from a corner, 0.02 xG, saved 29’ Leandro Barreiro Martins (Mainz), open play, 0.02 xG, off target 4’ Julian Ryerson (Borussia Dortmund), open play, 0.01 xG, goal
Size shows xG Goal On target Off target or blocked

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

Player stats

PlayerPosMinGAShxGxAKPCards
Finn Dahmen GK900 0.000.000
Andreas Hanche-Olsen DEF901 0.070.000
Edimilson Fernandes DEF9010 0.000.131
Anthony Caci DEF820 0.000.000
Silvan Widmer MID900 0.000.051
Aarón Martín MID901 0.020.000
Aymen Barkok MID901 0.060.071
Leandro Barreiro Martins MID902 0.090.000
Jae-Sung Lee MID6511 0.130.000
Karim Onisiwo FWD821 0.050.000
Marcus Ingvartsen FWD652 0.220.000
Angelo Fulgini Sub251 0.060.021
Anton Stach Sub251 0.100.122
Ludovic Ajorque Sub81 0.060.101
Alexander Hack Sub80 0.000.000
Brajan Gruda Sub10 0.000.000

Starters first, then substitutes. xA is expected assists.

Before kick-off

Mainz win 30% Avg odds 3.15
Draw 26% Avg odds 3.74
Borussia Dortmund win 44% Avg odds 2.18

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. Results and odds from football-data.co.uk. Referee data before 2025/26 from the Transfermarkt datasets project.