Mainz vs Borussia Dortmund

16 March 2022 · Bundesliga · 2021/22 · Referee Sascha Stegemann

Full time 0 – 1

Half-time: 0–0

  • Axel Witsel 87’

Match summary

Borussia Dortmund beat Mainz 1-0 on the road, with a late winner. It was goalless at half-time.

Axel Witsel put Borussia Dortmund ahead in the 87th minute, set up by Giovanni Reyna.

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

Match stats

Mainz Borussia Dortmund
10 Shots 11
1 Shots on Target 4
5 Corners 5
3 Yellow Cards 4
0 Red Cards 0
0.78 xG 1.39
0.78 Non-penalty xG 1.39
5 Deep Completions 6

Key events

Mainz Borussia Dortmund
Kick-off
Half-time0-0
87’
Axel Witsel
Assist: Giovanni Reyna
0-1 (Borussia Dortmund)
Full-time0-1

Bookings

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

Mainz
  • Stefan Bell
  • Anderson-Lenda Lucoqui
  • Anton Stach
Borussia Dortmund
  • Marin Pongracic
  • Axel Witsel
  • Mahmoud Dahoud
  • Marius Wolf

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 2.0 0’ 15’ 30’ 45’ 60’ 75’ 90’ HT 0.78 1.39 87’ Axel Witsel (Borussia Dortmund), 0-1 87’ 0.0 0.5 1.0 1.5 2.0 0’ 15’ 30’ 45’ 60’ 75’ 90’ HT 0.78 1.39 87’ Axel Witsel (Borussia Dortmund), 0-1 Witsel 87’
Mainz 0.78 xGBorussia Dortmund 1.39 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 
87’ Axel Witsel (Borussia Dortmund), set piece, 0.56 xG, goal 90+5’ Julian Brandt (Borussia Dortmund), open play, 0.35 xG, off target 60’ Silvan Widmer (Mainz), open play, 0.22 xG, saved 27’ Jonathan Burkardt (Mainz), open play, 0.15 xG, blocked 84’ Kevin Stöger (Mainz), open play, 0.14 xG, off target 68’ Erling Haaland (Borussia Dortmund), open play, 0.10 xG, saved 55’ Jonathan Burkardt (Mainz), open play, 0.09 xG, blocked 45’ Kevin Stöger (Mainz), direct free kick, 0.07 xG, off target 74’ Thorgan Hazard (Borussia Dortmund), direct free kick, 0.07 xG, off target 20’ Jude Bellingham (Borussia Dortmund), open play, 0.06 xG, blocked 59’ Jude Bellingham (Borussia Dortmund), open play, 0.06 xG, blocked 90+6’ Giovanni Reyna (Borussia Dortmund), direct free kick, 0.05 xG, saved 22’ Thorgan Hazard (Borussia Dortmund), open play, 0.04 xG, saved 65’ Donyell Malen (Borussia Dortmund), open play, 0.04 xG, off target 59’ Felix Passlack (Borussia Dortmund), from a corner, 0.03 xG, off target 70’ Julian Brandt (Borussia Dortmund), from a corner, 0.03 xG, blocked 24’ Kevin Stöger (Mainz), open play, 0.02 xG, blocked 51’ Anton Stach (Mainz), from a corner, 0.02 xG, off target 24’ Anton Stach (Mainz), open play, 0.02 xG, off target 84’ Merveille Papela (Mainz), open play, 0.02 xG, off target 85’ Stefan Bell (Mainz), from a corner, 0.01 xG, off target 21’ Kevin Stöger (Mainz), open play, 0.01 xG, off target 87’ Axel Witsel (Borussia Dortmund), set piece, 0.56 xG, goal 90+5’ Julian Brandt (Borussia Dortmund), open play, 0.35 xG, off target 60’ Silvan Widmer (Mainz), open play, 0.22 xG, saved 27’ Jonathan Burkardt (Mainz), open play, 0.15 xG, blocked 84’ Kevin Stöger (Mainz), open play, 0.14 xG, off target 68’ Erling Haaland (Borussia Dortmund), open play, 0.10 xG, saved 55’ Jonathan Burkardt (Mainz), open play, 0.09 xG, blocked 45’ Kevin Stöger (Mainz), direct free kick, 0.07 xG, off target 74’ Thorgan Hazard (Borussia Dortmund), direct free kick, 0.07 xG, off target 20’ Jude Bellingham (Borussia Dortmund), open play, 0.06 xG, blocked 59’ Jude Bellingham (Borussia Dortmund), open play, 0.06 xG, blocked 90+6’ Giovanni Reyna (Borussia Dortmund), direct free kick, 0.05 xG, saved 22’ Thorgan Hazard (Borussia Dortmund), open play, 0.04 xG, saved 65’ Donyell Malen (Borussia Dortmund), open play, 0.04 xG, off target 70’ Julian Brandt (Borussia Dortmund), from a corner, 0.03 xG, blocked 59’ Felix Passlack (Borussia Dortmund), from a corner, 0.03 xG, off target 24’ Kevin Stöger (Mainz), open play, 0.02 xG, blocked 51’ Anton Stach (Mainz), from a corner, 0.02 xG, off target 24’ Anton Stach (Mainz), open play, 0.02 xG, off target 84’ Merveille Papela (Mainz), open play, 0.02 xG, off target 85’ Stefan Bell (Mainz), from a corner, 0.01 xG, off target 21’ Kevin Stöger (Mainz), open play, 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.

Player stats

PlayerPosMinGAShxGxAKPCards
Robin Zentner GK900 0.000.000
Moussa Niakhate DEF900 0.000.000
Stefan Bell DEF901 0.010.000
Niklas Tauer DEF800 0.000.000
Silvan Widmer MID901 0.220.021
Anderson-Lenda Lucoqui MID900 0.000.221
Kevin Stöger MID904 0.250.042
Anton Stach MID742 0.040.000
Jonathan Burkardt MID902 0.240.000
Marcus Ingvartsen MID740 0.000.000
Karim Onisiwo FWD900 0.000.242
Merveille Papela Sub161 0.020.000
Jean-Paul Boëtius Sub160 0.000.000
Daniel Brosinski Sub100 0.000.141

Starters first, then substitutes. xA is expected assists.

Before kick-off

Mainz win 32% Avg odds 3.01
Draw 27% Avg odds 3.54
Borussia Dortmund win 41% Avg odds 2.33

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.