Mainz vs Borussia Dortmund

27 September 2025 · Bundesliga · 2025/26 · Referee Tobias Reichel

Full time 0 – 2

Half-time: 0–2

  • Daniel Svensson 27’
  • Karim Adeyemi 40’

Match summary

Borussia Dortmund took a 2-0 win at Mainz. Borussia Dortmund led 2-0 at half-time.

Daniel Svensson put Borussia Dortmund ahead in the 27th minute, set up by Julian Brandt and Karim Adeyemi made it 0-2 in the 40th minute, set up by Julian Brandt.

The chances backed that up: Borussia Dortmund created 1.76 expected goals (xG) from 10 shots to Mainz's 0.53 from 8. Mainz had a player sent off.

Match stats

49% Possession 51%
8 Shots 10
2 Shots on target 4
7 Corners 5
108 Attacks 73
48 Dangerous attacks 37
369 Passes 389
75% Pass accuracy 77%
17 Tackles 8
12 Fouls 14
2 Yellow cards 1
1 Red cards 0
5 Offsides 2

Key events

Mainz Borussia Dortmund
Kick-off
23’
Ramy BensebainiShot on target
27’
Daniel SvenssonLeft foot shot0-1 (Borussia Dortmund)
Andreas Hanche-OlsenShot on target
27’
40’
Karim AdeyemiLeft foot shot0-2 (Borussia Dortmund)
43’
Yan CoutoFoul
Half-time0-2
Second half underway
50’
Andreas Hanche-OlsenShot on target
56’
Stefan BellMaxim Leitsch
63’
Robin ZentnerProfessional foul last man
67’
Lasse RießAndreas Hanche-Olsen
69’
Nelson WeiperArmindo Sieb
80’
90’
90+2’
Julian BrandtShot on target
Full-time0-2

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.53 1.76 27’ Daniel Svensson (Borussia Dortmund), 0-1 27’ 40’ Karim Adeyemi (Borussia Dortmund), 0-2 40’ 0.0 0.5 1.0 1.5 2.0 0’ 15’ 30’ 45’ 60’ 75’ 90’ HT 0.53 1.76 27’ Daniel Svensson (Borussia Dortmund), 0-1 Svensson 27’ 40’ Karim Adeyemi (Borussia Dortmund), 0-2 Adeyemi 40’
Mainz 0.53 xGBorussia Dortmund 1.76 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 
27’ Daniel Svensson (Borussia Dortmund), open play, 0.72 xG, goal 40’ Karim Adeyemi (Borussia Dortmund), open play, 0.48 xG, goal 26’ Paul Nebel (Mainz), open play, 0.33 xG, hit the woodwork 90+2’ Julian Brandt (Borussia Dortmund), open play, 0.12 xG, saved 48’ Marcel Sabitzer (Borussia Dortmund), open play, 0.11 xG, blocked 88’ Julian Brandt (Borussia Dortmund), open play, 0.11 xG, off target 23’ Yan Couto (Borussia Dortmund), open play, 0.06 xG, off target 56’ Andreas Hanche-Olsen (Mainz), from a corner, 0.06 xG, saved 23’ Karim Adeyemi (Borussia Dortmund), open play, 0.05 xG, blocked 70’ Julian Brandt (Borussia Dortmund), direct free kick, 0.05 xG, blocked 33’ Marcel Sabitzer (Borussia Dortmund), set piece, 0.04 xG, off target 73’ Stefan Bell (Mainz), from a corner, 0.03 xG, off target 16’ Andreas Hanche-Olsen (Mainz), set piece, 0.02 xG, off target 84’ Arnaud Nordin (Mainz), set piece, 0.03 xG, off target 27’ Andreas Hanche-Olsen (Mainz), open play, 0.02 xG, saved 8’ Kaishu Sano (Mainz), open play, 0.02 xG, off target 76’ Armindo Sieb (Mainz), open play, 0.02 xG, blocked 23’ Ramy Bensebaini (Borussia Dortmund), open play, 0.01 xG, saved 27’ Daniel Svensson (Borussia Dortmund), open play, 0.72 xG, goal 40’ Karim Adeyemi (Borussia Dortmund), open play, 0.48 xG, goal 26’ Paul Nebel (Mainz), open play, 0.33 xG, hit the woodwork 90+2’ Julian Brandt (Borussia Dortmund), open play, 0.12 xG, saved 48’ Marcel Sabitzer (Borussia Dortmund), open play, 0.11 xG, blocked 88’ Julian Brandt (Borussia Dortmund), open play, 0.11 xG, off target 23’ Yan Couto (Borussia Dortmund), open play, 0.06 xG, off target 56’ Andreas Hanche-Olsen (Mainz), from a corner, 0.06 xG, saved 23’ Karim Adeyemi (Borussia Dortmund), open play, 0.05 xG, blocked 70’ Julian Brandt (Borussia Dortmund), direct free kick, 0.05 xG, blocked 33’ Marcel Sabitzer (Borussia Dortmund), set piece, 0.04 xG, off target 73’ Stefan Bell (Mainz), from a corner, 0.03 xG, off target 84’ Arnaud Nordin (Mainz), set piece, 0.03 xG, off target 16’ Andreas Hanche-Olsen (Mainz), set piece, 0.02 xG, off target 27’ Andreas Hanche-Olsen (Mainz), open play, 0.02 xG, saved 8’ Kaishu Sano (Mainz), open play, 0.02 xG, off target 76’ Armindo Sieb (Mainz), open play, 0.02 xG, blocked 23’ Ramy Bensebaini (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.

Lineups

Mainz 3-4-2-1 Starting XI
Zentner
Costa
Hanche-Olsen 69’
Leitsch 63’
Widmer
Sano
Amiri 80’
Mwene
Nebel
Lee 63’
Sieb 80’
Borussia Dortmund 3-4-3 Starting XI
Kobel
Bensebaini
Schlotterbeck
Anton
Svensson
Nmecha 77’
Sabitzer 77’
Couto 69’
Brandt 2
Beier 87’
Adeyemi 68’

Player stats

PlayerPosMinGAShxGxAKPCards
Robin Zentner GK680 0.000.000
Danny da Costa DEF900 0.000.000
Andreas Hanche-Olsen DEF703 0.100.000
Maxim Leitsch DEF640 0.000.000
Silvan Widmer MID900 0.000.021
Philipp Mwene MID900 0.000.000
Kaishu Sano MID901 0.020.021
Nadiem Amiri MID810 0.000.062
Paul Nebel MID901 0.330.092
Jae-Sung Lee MID640 0.000.000
Armindo Sieb FWD811 0.020.352
Arnaud Nordin Sub261 0.030.000
Stefan Bell Sub261 0.030.000
Lasse Rieß Sub200 0.000.000
Nelson Weiper Sub90 0.000.000
Lennard Maloney Sub90 0.000.000

Starters first, then substitutes. xA is expected assists.

Before kick-off

Mainz win 28% Avg odds 3.39
Draw 25% Avg odds 3.76
Borussia Dortmund win 47% Avg odds 2.00

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. Timeline, lineups and team statistics from Sportmonks. Results and odds from football-data.co.uk.