Borussia Dortmund vs Mainz

30 March 2025 · Bundesliga · 2024/25 · Referee Daniel Schlager

Full time 3 – 1

Half-time: 2–0

  • Maximilian Beier 39’, 72’
  • Emre Can 42’
  • Paul Nebel 76’

Match summary

Borussia Dortmund saw off Mainz 3-1. Borussia Dortmund led 2-0 at half-time.

In the first half, Maximilian Beier put Borussia Dortmund ahead in the 39th minute, set up by Karim Adeyemi and Emre Can made it 2-0 with a header in the 42nd minute, set up by Nico Schlotterbeck. In the second half, Beier made it 3-0 with a header in the 72nd minute, set up by Nico Schlotterbeck and Paul Nebel pulled one back to make it 3-1 in the 76th minute, set up by Nadiem Amiri.

The chances backed that up: Borussia Dortmund created 2.70 expected goals (xG) from 18 shots to Mainz's 0.67 from 12.

Match stats

Borussia Dortmund Mainz
18 Shots 12
7 Shots on Target 3
6 Corners 4
2 Yellow Cards 0
0 Red Cards 0
2.70 xG 0.65
2.70 Non-penalty xG 0.65
11 Deep Completions 5

Key events

Borussia Dortmund Mainz
Kick-off
Maximilian Beier
Assist: Karim Adeyemi
1-0 (Borussia Dortmund)
39’
Emre Can
Assist: Nico Schlotterbeck
2-0 (Borussia Dortmund)
42’
Half-time2-0
Maximilian Beier
Assist: Nico Schlotterbeck
3-0 (Borussia Dortmund)
72’
76’
Paul Nebel
Assist: Nadiem Amiri
3-1 (Mainz)
Full-time3-1

Bookings

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

Borussia Dortmund
  • Nico Schlotterbeck
  • Yan Couto

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 2.5 3.0 3.5 0’ 15’ 30’ 45’ 60’ 75’ 90’ HT 2.70 0.67 39’ Maximilian Beier (Borussia Dortmund), 1-0 39’ 42’ Emre Can (Borussia Dortmund), 2-0 42’ 72’ Maximilian Beier (Borussia Dortmund), 3-0 72’ 76’ Paul Nebel (Mainz), 3-1 76’ 0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 0’ 15’ 30’ 45’ 60’ 75’ 90’ HT 2.70 0.67 39’ Maximilian Beier (Borussia Dortmund), 1-0 Beier 39’ 42’ Emre Can (Borussia Dortmund), 2-0 Can 42’ 72’ Maximilian Beier (Borussia Dortmund), 3-0 Beier 72’ 76’ Paul Nebel (Mainz), 3-1 Nebel 76’
Borussia Dortmund 2.70 xGMainz 0.67 xG Goal

Tap a goal for the scorer and score.

Shot map

Every shot and where it was taken from.

 Mainz attacking Borussia Dortmund attacking 
39’ Maximilian Beier (Borussia Dortmund), open play, 0.96 xG, goal 9’ Maximilian Beier (Borussia Dortmund), open play, 0.35 xG, off target 72’ Maximilian Beier (Borussia Dortmund), from a corner, 0.33 xG, goal 70’ Karim Adeyemi (Borussia Dortmund), open play, 0.15 xG, saved 87’ Anthony Caci (Mainz), open play, 0.14 xG, off target 83’ Pascal Groß (Borussia Dortmund), set piece, 0.12 xG, saved 89’ Karim Adeyemi (Borussia Dortmund), open play, 0.11 xG, blocked 42’ Emre Can (Borussia Dortmund), from a corner, 0.11 xG, goal 57’ Salih Özcan (Borussia Dortmund), from a corner, 0.09 xG, blocked 59’ Maximilian Beier (Borussia Dortmund), open play, 0.09 xG, off target 84’ Carney Chukwuemeka (Borussia Dortmund), open play, 0.09 xG, blocked 46’ Jonathan Burkardt (Mainz), open play, 0.08 xG, off target 13’ Jae-Sung Lee (Mainz), open play, 0.08 xG, off target 76’ Paul Nebel (Mainz), open play, 0.08 xG, goal 46’ Paul Nebel (Mainz), open play, 0.07 xG, blocked 14’ Julian Brandt (Borussia Dortmund), open play, 0.06 xG, saved 49’ Moritz Jenz (Mainz), open play, 0.05 xG, off target 7’ Karim Adeyemi (Borussia Dortmund), open play, 0.05 xG, blocked 4’ Nico Schlotterbeck (Borussia Dortmund), open play, 0.04 xG, off target 46’ Silvan Widmer (Mainz), open play, 0.04 xG, blocked 90+6’ Nico Schlotterbeck (Borussia Dortmund), direct free kick, 0.04 xG, off target 15’ Jae-Sung Lee (Mainz), open play, 0.03 xG, saved 55’ Karim Adeyemi (Borussia Dortmund), open play, 0.03 xG, blocked 54’ Moritz Jenz (Mainz), from a corner, 0.03 xG, saved 90+3’ Nikolas Veratschnig (Mainz), open play, 0.03 xG, blocked 33’ Nadiem Amiri (Mainz), open play, 0.02 xG, blocked 48’ Kaishu Sano (Mainz), open play, 0.02 xG, blocked 83’ Julian Ryerson (Borussia Dortmund), set piece, 0.02 xG, off target 4’ Nico Schlotterbeck (Borussia Dortmund), open play, 0.01 xG, blocked 24’ Nico Schlotterbeck (Borussia Dortmund), open play, 0.01 xG, saved 39’ Maximilian Beier (Borussia Dortmund), open play, 0.96 xG, goal 9’ Maximilian Beier (Borussia Dortmund), open play, 0.35 xG, off target 72’ Maximilian Beier (Borussia Dortmund), from a corner, 0.33 xG, goal 70’ Karim Adeyemi (Borussia Dortmund), open play, 0.15 xG, saved 87’ Anthony Caci (Mainz), open play, 0.14 xG, off target 83’ Pascal Groß (Borussia Dortmund), set piece, 0.12 xG, saved 89’ Karim Adeyemi (Borussia Dortmund), open play, 0.11 xG, blocked 42’ Emre Can (Borussia Dortmund), from a corner, 0.11 xG, goal 57’ Salih Özcan (Borussia Dortmund), from a corner, 0.09 xG, blocked 59’ Maximilian Beier (Borussia Dortmund), open play, 0.09 xG, off target 84’ Carney Chukwuemeka (Borussia Dortmund), open play, 0.09 xG, blocked 46’ Jonathan Burkardt (Mainz), open play, 0.08 xG, off target 13’ Jae-Sung Lee (Mainz), open play, 0.08 xG, off target 76’ Paul Nebel (Mainz), open play, 0.08 xG, goal 46’ Paul Nebel (Mainz), open play, 0.07 xG, blocked 14’ Julian Brandt (Borussia Dortmund), open play, 0.06 xG, saved 49’ Moritz Jenz (Mainz), open play, 0.05 xG, off target 7’ Karim Adeyemi (Borussia Dortmund), open play, 0.05 xG, blocked 4’ Nico Schlotterbeck (Borussia Dortmund), open play, 0.04 xG, off target 46’ Silvan Widmer (Mainz), open play, 0.04 xG, blocked 90+6’ Nico Schlotterbeck (Borussia Dortmund), direct free kick, 0.04 xG, off target 15’ Jae-Sung Lee (Mainz), open play, 0.03 xG, saved 55’ Karim Adeyemi (Borussia Dortmund), open play, 0.03 xG, blocked 54’ Moritz Jenz (Mainz), from a corner, 0.03 xG, saved 90+3’ Nikolas Veratschnig (Mainz), open play, 0.03 xG, blocked 33’ Nadiem Amiri (Mainz), open play, 0.02 xG, blocked 48’ Kaishu Sano (Mainz), open play, 0.02 xG, blocked 83’ Julian Ryerson (Borussia Dortmund), set piece, 0.02 xG, off target 4’ Nico Schlotterbeck (Borussia Dortmund), open play, 0.01 xG, blocked 24’ Nico Schlotterbeck (Borussia Dortmund), open play, 0.01 xG, saved
Size shows xG Goal On target Off target or blocked

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

Player stats

PlayerPosMinGAShxGxAKPCards
Gregor Kobel GK900 0.000.000
Waldemar Anton DEF900 0.000.351
Emre Can DEF9011 0.110.000
Nico Schlotterbeck DEF9024 0.110.533
Salih Özcan MID811 0.090.000
Yan Couto MID640 0.000.112
Pascal Groß MID901 0.120.000
Julian Brandt MID811 0.060.233
Julian Ryerson MID901 0.020.000
Maximilian Beier FWD9024 1.750.182
Karim Adeyemi FWD9014 0.340.961
Daniel Svensson Sub260 0.000.091
Niklas Süle Sub90 0.000.000
Carney Chukwuemeka Sub91 0.090.121
Ramy Bensebaini Sub10 0.000.000
Jamie Bynoe-Gittens Sub10 0.000.000

Starters first, then substitutes. xA is expected assists.

Before kick-off

Borussia Dortmund win 58% Avg odds 1.66
Draw 23% Avg odds 4.12
Mainz win 19% Avg odds 4.92

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.