Heidenheim vs Dynamo Dresden

29 August 2026 · 2. Bundesliga · 2026/27 · Referee Felix Bickel

Full time 5 – 3

Half-time: 0–1

  • Jan Schöppner 67’
  • Friedrich Müller 77’ (og)
  • Oualid Mhamdi 87’
  • Julian Niehues 89’
  • Maximilian Breunig 90+1’
  • Vincent Vermeij 30’
  • Robert Wagner 73’
  • Jonas Sterner 90+7’

Match summary

Heidenheim came from behind to win 5-3 at home to Dynamo Dresden. Dynamo Dresden led 1-0 at half-time.

In the first half, Vincent Vermeij put Dynamo Dresden ahead with a header in the 30th minute. In the second half, Jan Schöppner equalised with a header in the 67th minute, Robert Wagner put Dynamo Dresden back in front in the 73rd minute, Müller's own goal equalised in the 77th minute, Oualid Mhamdi put Heidenheim in front in the 87th minute, Julian Niehues made it 4-2 with a header in the 89th minute, Maximilian Breunig made it 5-2 in stoppage time, and Jonas Sterner pulled one back to make it 5-3 from a corner in stoppage time.

The chances backed that up: Heidenheim created 3.73 expected goals (xG) from 28 shots to Dynamo Dresden's 1.41 from 17. Dynamo Dresden had a player sent off.

Match stats

39% Possession 61%
28 Shots 17
10 Shots on target 8
6 Corners 9
290 Passes 497
74.1% Pass accuracy 81.7%
13 Tackles 14
8 Fouls 6
2 Yellow cards 3
0 Red cards 1
4 Offsides 1

Key events

Heidenheim Dynamo Dresden
Kick-off
26’
30’
Vincent VermeijHeader0-1 (Dynamo Dresden)
33’
Kaan İnanoğluShot on target
Luca KerberShot on target
35’
40’
Niklas HauptmannShot on target
Budu ZivzivadzeShot on target
45’
Half-time0-1
46’
Second half underway
Budu ZivzivadzeShot on target
50’
Marcel CostlyShot on target
50’
52’
Jan SchöppnerHeader1-1 (Heidenheim)
67’
68’
Jonas OehmichenLukas Boeder
69’
Thomas KellerSecond yellowFoul
73’
Robert WagnerLeft foot shot1-2 (Dynamo Dresden)
73’
Ben BobzienShot on target
74’
T. StammManagerArgument
Friedrich MüllerOwn goal2-2 (Heidenheim)
77’
78’
Paul HennrichShot on target
83’
Oualid MhamdiRight foot shot3-2 (Heidenheim)
87’
Julian NiehuesHeader4-2 (Heidenheim)
89’
Maximilian BreunigLeft foot shot5-2 (Heidenheim)
90+1’
Yannik WagnerShot on target
90+1’
90+1’
Jonas SternerShot on target
90+6’
Ahmet MuhamedbegovićShot on target
90+7’
Jonas SternerRight foot shot5-3 (Dynamo Dresden)
Full-time5-3

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 5 0’ 15’ 30’ 45’ 60’ 75’ 90’ HT 3.73 1.41 30’ Vincent Vermeij (Dynamo Dresden), 0-1 30’ 67’ Jan Schöppner (Heidenheim), 1-1 67’ 73’ Robert Wagner (Dynamo Dresden), 1-2 73’ 77’ Friedrich Müller (Heidenheim) own goal, 2-2 77’ 87’ Oualid Mhamdi (Heidenheim), 3-2 87’ 89’ Julian Niehues (Heidenheim), 4-2 89’ 90+1’ Maximilian Breunig (Heidenheim), 5-2 90+1’ 90+7’ Jonas Sterner (Dynamo Dresden), 5-3 90+7’ 0 1 2 3 4 5 0’ 15’ 30’ 45’ 60’ 75’ 90’ HT 3.73 1.41 30’ Vincent Vermeij (Dynamo Dresden), 0-1 Vermeij 30’ 67’ Jan Schöppner (Heidenheim), 1-1 Schöppner 67’ 73’ Robert Wagner (Dynamo Dresden), 1-2 Wagner 73’ 77’ Friedrich Müller (Heidenheim) own goal, 2-2 Müller 77’ 87’ Oualid Mhamdi (Heidenheim), 3-2 Mhamdi 87’ 89’ Julian Niehues (Heidenheim), 4-2 Niehues 89’ 90+1’ Maximilian Breunig (Heidenheim), 5-2 Breunig 90+1’ 90+7’ Jonas Sterner (Dynamo Dresden), 5-3 Sterner 90+7’
Heidenheim 3.73 xGDynamo Dresden 1.41 xG Goal

Tap a goal for the scorer and score.

Shot map

Every shot and where it was taken from.

 Dynamo Dresden attacking Heidenheim attacking 
60’ Marcel Costly (Heidenheim), open play, 0.73 xG, hit the woodwork 35’ Luca Kerber (Heidenheim), open play, 0.53 xG, saved 81’ Maximilian Breunig (Heidenheim), open play, 0.39 xG, off target 90+1’ Maximilian Breunig (Heidenheim), open play, 0.33 xG, goal 90+4’ Maximilian Breunig (Heidenheim), from a corner, 0.25 xG, hit the woodwork 67’ Jan Schöppner (Heidenheim), from a corner, 0.22 xG, goal 30’ Vincent Vermeij (Dynamo Dresden), from a corner, 0.20 xG, goal 48’ Vincent Vermeij (Dynamo Dresden), open play, 0.20 xG, blocked 83’ Paul Hennrich (Heidenheim), open play, 0.20 xG, saved 40’ Niklas Hauptmann (Dynamo Dresden), open play, 0.15 xG, saved 46’ Ben Bobzien (Dynamo Dresden), open play, 0.12 xG, off target 59’ Oualid Mhamdi (Heidenheim), open play, 0.13 xG, blocked 71’ Marcel Costly (Heidenheim), from a corner, 0.12 xG, off target 89’ Julian Niehues (Heidenheim), from a corner, 0.12 xG, goal 90+6’ Ahmet Muhamedbegović (Dynamo Dresden), from a corner, 0.12 xG, saved 39’ Kaan İnanoğlu (Dynamo Dresden), open play, 0.11 xG, off target 90+6’ Tobias Raschl (Dynamo Dresden), from a corner, 0.10 xG, blocked 73’ Robert Wagner (Dynamo Dresden), open play, 0.10 xG, goal 50’ Mathias Honsak (Heidenheim), set piece, 0.09 xG, blocked 42’ Michael Heule (Heidenheim), set piece, 0.08 xG, off target 90+4’ Julian Niehues (Heidenheim), from a corner, 0.07 xG, off target 17’ Niklas Hauptmann (Dynamo Dresden), open play, 0.06 xG, off target 19’ Thomas Keller (Dynamo Dresden), direct free kick, 0.06 xG, off target 65’ Jan Schöppner (Heidenheim), set piece, 0.06 xG, off target 50’ Patrick Mainka (Heidenheim), set piece, 0.05 xG, blocked 50’ Marcel Costly (Heidenheim), set piece, 0.04 xG, saved 73’ Ben Bobzien (Dynamo Dresden), open play, 0.04 xG, saved 87’ Oualid Mhamdi (Heidenheim), open play, 0.04 xG, goal 12’ Mathias Honsak (Heidenheim), open play, 0.04 xG, off target 24’ Alexander Rossipal (Dynamo Dresden), open play, 0.04 xG, off target 36’ Ben Bobzien (Dynamo Dresden), open play, 0.04 xG, off target 22’ Michael Heule (Heidenheim), open play, 0.03 xG, off target 28’ Mikkel Kaufmann (Heidenheim), open play, 0.03 xG, off target 50’ Budu Zivzivadze (Heidenheim), set piece, 0.03 xG, saved 33’ Kaan İnanoğlu (Dynamo Dresden), open play, 0.03 xG, saved 90+4’ Julian Niehues (Heidenheim), open play, 0.03 xG, blocked 76’ Maximilian Breunig (Heidenheim), open play, 0.03 xG, blocked 89’ Yannik Wagner (Heidenheim), open play, 0.02 xG, blocked 83’ Julian Niehues (Heidenheim), open play, 0.02 xG, blocked 90+1’ Yannik Wagner (Heidenheim), open play, 0.02 xG, saved 16’ Thomas Keller (Dynamo Dresden), open play, 0.02 xG, off target 45’ Budu Zivzivadze (Heidenheim), open play, 0.02 xG, saved 90+1’ Jonas Sterner (Dynamo Dresden), set piece, 0.01 xG, saved 75’ Oualid Mhamdi (Heidenheim), set piece, 0.01 xG, off target 90+7’ Jonas Sterner (Dynamo Dresden), from a corner, 0.01 xG, goal 77’ Friedrich Müller (Dynamo Dresden), own goal 60’ Marcel Costly (Heidenheim), open play, 0.73 xG, hit the woodwork 35’ Luca Kerber (Heidenheim), open play, 0.53 xG, saved 81’ Maximilian Breunig (Heidenheim), open play, 0.39 xG, off target 90+1’ Maximilian Breunig (Heidenheim), open play, 0.33 xG, goal 90+4’ Maximilian Breunig (Heidenheim), from a corner, 0.25 xG, hit the woodwork 67’ Jan Schöppner (Heidenheim), from a corner, 0.22 xG, goal 30’ Vincent Vermeij (Dynamo Dresden), from a corner, 0.20 xG, goal 48’ Vincent Vermeij (Dynamo Dresden), open play, 0.20 xG, blocked 83’ Paul Hennrich (Heidenheim), open play, 0.20 xG, saved 40’ Niklas Hauptmann (Dynamo Dresden), open play, 0.15 xG, saved 59’ Oualid Mhamdi (Heidenheim), open play, 0.13 xG, blocked 46’ Ben Bobzien (Dynamo Dresden), open play, 0.12 xG, off target 71’ Marcel Costly (Heidenheim), from a corner, 0.12 xG, off target 90+6’ Ahmet Muhamedbegović (Dynamo Dresden), from a corner, 0.12 xG, saved 39’ Kaan İnanoğlu (Dynamo Dresden), open play, 0.11 xG, off target 89’ Julian Niehues (Heidenheim), from a corner, 0.12 xG, goal 73’ Robert Wagner (Dynamo Dresden), open play, 0.10 xG, goal 90+6’ Tobias Raschl (Dynamo Dresden), from a corner, 0.10 xG, blocked 50’ Mathias Honsak (Heidenheim), set piece, 0.09 xG, blocked 42’ Michael Heule (Heidenheim), set piece, 0.08 xG, off target 90+4’ Julian Niehues (Heidenheim), from a corner, 0.07 xG, off target 17’ Niklas Hauptmann (Dynamo Dresden), open play, 0.06 xG, off target 19’ Thomas Keller (Dynamo Dresden), direct free kick, 0.06 xG, off target 65’ Jan Schöppner (Heidenheim), set piece, 0.06 xG, off target 50’ Patrick Mainka (Heidenheim), set piece, 0.05 xG, blocked 50’ Marcel Costly (Heidenheim), set piece, 0.04 xG, saved 73’ Ben Bobzien (Dynamo Dresden), open play, 0.04 xG, saved 87’ Oualid Mhamdi (Heidenheim), open play, 0.04 xG, goal 24’ Alexander Rossipal (Dynamo Dresden), open play, 0.04 xG, off target 36’ Ben Bobzien (Dynamo Dresden), open play, 0.04 xG, off target 12’ Mathias Honsak (Heidenheim), open play, 0.04 xG, off target 22’ Michael Heule (Heidenheim), open play, 0.03 xG, off target 28’ Mikkel Kaufmann (Heidenheim), open play, 0.03 xG, off target 50’ Budu Zivzivadze (Heidenheim), set piece, 0.03 xG, saved 33’ Kaan İnanoğlu (Dynamo Dresden), open play, 0.03 xG, saved 76’ Maximilian Breunig (Heidenheim), open play, 0.03 xG, blocked 89’ Yannik Wagner (Heidenheim), open play, 0.02 xG, blocked 90+4’ Julian Niehues (Heidenheim), open play, 0.03 xG, blocked 90+1’ Yannik Wagner (Heidenheim), open play, 0.02 xG, saved 83’ Julian Niehues (Heidenheim), open play, 0.02 xG, blocked 16’ Thomas Keller (Dynamo Dresden), open play, 0.02 xG, off target 45’ Budu Zivzivadze (Heidenheim), open play, 0.02 xG, saved 90+1’ Jonas Sterner (Dynamo Dresden), set piece, 0.01 xG, saved 75’ Oualid Mhamdi (Heidenheim), set piece, 0.01 xG, off target 90+7’ Jonas Sterner (Dynamo Dresden), from a corner, 0.01 xG, goal 77’ Friedrich Müller (Dynamo Dresden), own goal
Size shows xG Goal On target Off target or blocked

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

Lineups

Heidenheim 4-4-2 Starting XI
Dähne
Föhrenbach
Heule
Mainka
Busch 80’
Honsak 56’
Schöppner
Kerber 56’
Costly
Zivzivadze 80’
Kaufmann 71’
Dynamo Dresden 4-2-3-1 Starting XI
Schreiber
Sterner
Keller
Müller
Rossipal
Wagner
Boeder 68’
İnanoğlu 68’
Hauptmann 71’
Bobzien 84’
Vermeij 84’

Player stats

Goalkeeper1 player
90′ 3 3 39 – – – – –
Defenders6 players
Marnon Busch Taken off
80′ 1 1 – 3 1 17 1 – – –
90′ 1 3 – 6 5 37 1 – – –
90′ – – – 2 2 48 – – – –
90′ 1 2 1 5 – 30 – – 1 –
90′ 4 1 – 5 1 17 1 – – –
Oualid Mhamdi Came on as a substitute
34′ – – – 1 – 17 – 1 – –
Midfielders5 players
90′ 1 – 25 1 0.02 2 2 7 1 – –
Luca Kerber Taken off
56′ – – 11 – 0.00 1 – 5 1 3
Mathias Honsak Taken off
56′ – – 10 1 0.00 1 1 2 1 –
Paul Hennrich Came on as a substitute
34′ – 1 11 1 0.17 – – 2 – – –
Julian Niehues Came on as a substitute
10′ 1 – 5 – 0.00 – – 2 – – –
Forwards4 players
Budu Zivzivadze Taken off
80′ – – 2 2 0.05 0.01 1 4 1 12 –
Mikkel Kaufmann Taken off
71′ – – 1 – 0.03 0.34 2 2 – 9 –
Maximilian Breunig Came on as a substitute
19′ 1 – 4 1 1.00 – – 2 – 2 –
Yannik Wagner Came on as a substitute
10′ – – 2 1 0.05 – – – – – –
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.

Before kick-off

Heidenheim win 43% Avg odds 2.14
Draw 26% Avg odds 3.58
Dynamo Dresden win 31% Avg odds 2.99

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, timeline, lineups, team and player statistics from Bzzoiro Sports Data (sports.bzzoiro.com). Results and odds from football-data.co.uk.