Hoffenheim vs Borussia Dortmund

26 April 2025 · Bundesliga · 2024/25 · Referee Benjamin Brand

Full time 2 – 3

Half-time: 0–1

  • Adam Hlozek 61’
  • Pavel Kaderábek 90+1’
  • Serhou Guirassy 20’
  • Julian Brandt 74’
  • Waldemar Anton 90+5’

Match summary

Borussia Dortmund took a 3-2 win at Hoffenheim, with the winner arriving in stoppage time. Borussia Dortmund led 1-0 at half-time.

In the first half, Serhou Guirassy put Borussia Dortmund ahead in the 20th minute, set up by Daniel Svensson. In the second half, Adam Hlozek equalised in the 61st minute, set up by Anton Stach, Julian Brandt put Borussia Dortmund back in front in the 74th minute, set up by Daniel Svensson, Pavel Kaderábek equalised with a header in stoppage time, set up by David Jurásek, and Waldemar Anton won it in stoppage time, set up by Serhou Guirassy.

The chances backed that up: Borussia Dortmund created 2.43 expected goals (xG) from 16 shots to Hoffenheim's 1.19 from 11. Serhou Guirassy had a penalty saved for Borussia Dortmund.

Match stats

Hoffenheim Borussia Dortmund
11 Shots 16
3 Shots on Target 8
2 Corners 5
5 Yellow Cards 1
0 Red Cards 0
1.19 xG 2.42
1.19 Non-penalty xG 1.66
6 Deep Completions 13

Key events

Hoffenheim Borussia Dortmund
Kick-off
20’
Serhou Guirassy
Assist: Daniel Svensson
0-1 (Borussia Dortmund)
Half-time0-1
Adam Hlozek
Assist: Anton Stach
1-1 (Hoffenheim)
61’
74’
Julian Brandt
Assist: Daniel Svensson
1-2 (Borussia Dortmund)
Pavel Kaderábek
Assist: David Jurásek
2-2 (Hoffenheim)
90+1’
90+5’
Waldemar Anton
Assist: Serhou Guirassy
2-3 (Borussia Dortmund)
Full-time2-3

Bookings

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

Hoffenheim
  • Arthur Chaves
  • Pavel Kaderábek
  • Anton Stach
  • Stanley N'Soki
  • Umut Tohumcu
Borussia Dortmund
  • Waldemar Anton

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 0’ 15’ 30’ 45’ 60’ 75’ 90’ HT 1.19 2.43 20’ Serhou Guirassy (Borussia Dortmund), 0-1 20’ 61’ Adam Hlozek (Hoffenheim), 1-1 61’ 74’ Julian Brandt (Borussia Dortmund), 1-2 74’ 90+1’ Pavel Kaderábek (Hoffenheim), 2-2 90+1’ 90+5’ Waldemar Anton (Borussia Dortmund), 2-3 90+5’ 0.0 0.5 1.0 1.5 2.0 2.5 3.0 0’ 15’ 30’ 45’ 60’ 75’ 90’ HT 1.19 2.43 20’ Serhou Guirassy (Borussia Dortmund), 0-1 Guirassy 20’ 61’ Adam Hlozek (Hoffenheim), 1-1 Hlozek 61’ 74’ Julian Brandt (Borussia Dortmund), 1-2 Brandt 74’ 90+1’ Pavel Kaderábek (Hoffenheim), 2-2 Kaderábek 90+1’ 90+5’ Waldemar Anton (Borussia Dortmund), 2-3 Anton 90+5’
Hoffenheim 1.19 xGBorussia Dortmund 2.43 xG Goal

Tap a goal for the scorer and score.

Shot map

Every shot and where it was taken from.

 Borussia Dortmund attacking Hoffenheim attacking 
34’ Serhou Guirassy (Borussia Dortmund), penalty, 0.76 xG, saved 80’ Haris Tabakovic (Hoffenheim), set piece, 0.47 xG, off target 20’ Serhou Guirassy (Borussia Dortmund), open play, 0.40 xG, goal 90+1’ Pavel Kaderábek (Hoffenheim), open play, 0.27 xG, goal 90+5’ Waldemar Anton (Borussia Dortmund), open play, 0.26 xG, goal 46’ Felix Nmecha (Borussia Dortmund), from a corner, 0.15 xG, off target 7’ Serhou Guirassy (Borussia Dortmund), set piece, 0.13 xG, off target 46’ Serhou Guirassy (Borussia Dortmund), from a corner, 0.11 xG, blocked 9’ Julian Brandt (Borussia Dortmund), open play, 0.10 xG, saved 85’ Daniel Svensson (Borussia Dortmund), open play, 0.10 xG, off target 35’ Andrej Kramaric (Hoffenheim), from a corner, 0.10 xG, blocked 39’ Adam Hlozek (Hoffenheim), open play, 0.08 xG, off target 61’ Adam Hlozek (Hoffenheim), open play, 0.08 xG, goal 84’ Karim Adeyemi (Borussia Dortmund), open play, 0.09 xG, saved 48’ Julian Ryerson (Borussia Dortmund), open play, 0.07 xG, blocked 44’ Niklas Süle (Borussia Dortmund), open play, 0.07 xG, saved 44’ Jamie Bynoe-Gittens (Borussia Dortmund), open play, 0.06 xG, saved 28’ Dennis Geiger (Hoffenheim), direct free kick, 0.05 xG, off target 74’ Julian Brandt (Borussia Dortmund), open play, 0.06 xG, goal 58’ Bazoumana Touré (Hoffenheim), open play, 0.05 xG, off target 48’ Felix Nmecha (Borussia Dortmund), open play, 0.04 xG, blocked 67’ Julian Ryerson (Borussia Dortmund), open play, 0.03 xG, blocked 11’ Bazoumana Touré (Hoffenheim), open play, 0.03 xG, saved 54’ Bazoumana Touré (Hoffenheim), open play, 0.02 xG, off target 90+2’ Pavel Kaderábek (Hoffenheim), open play, 0.02 xG, off target 38’ Anton Stach (Hoffenheim), open play, 0.02 xG, blocked 24’ Jamie Bynoe-Gittens (Borussia Dortmund), open play, 0.01 xG, off target 34’ Serhou Guirassy (Borussia Dortmund), penalty, 0.76 xG, saved 80’ Haris Tabakovic (Hoffenheim), set piece, 0.47 xG, off target 20’ Serhou Guirassy (Borussia Dortmund), open play, 0.40 xG, goal 90+1’ Pavel Kaderábek (Hoffenheim), open play, 0.27 xG, goal 90+5’ Waldemar Anton (Borussia Dortmund), open play, 0.26 xG, goal 46’ Felix Nmecha (Borussia Dortmund), from a corner, 0.15 xG, off target 7’ Serhou Guirassy (Borussia Dortmund), set piece, 0.13 xG, off target 46’ Serhou Guirassy (Borussia Dortmund), from a corner, 0.11 xG, blocked 85’ Daniel Svensson (Borussia Dortmund), open play, 0.10 xG, off target 9’ Julian Brandt (Borussia Dortmund), open play, 0.10 xG, saved 35’ Andrej Kramaric (Hoffenheim), from a corner, 0.10 xG, blocked 39’ Adam Hlozek (Hoffenheim), open play, 0.08 xG, off target 84’ Karim Adeyemi (Borussia Dortmund), open play, 0.09 xG, saved 61’ Adam Hlozek (Hoffenheim), open play, 0.08 xG, goal 48’ Julian Ryerson (Borussia Dortmund), open play, 0.07 xG, blocked 44’ Niklas Süle (Borussia Dortmund), open play, 0.07 xG, saved 44’ Jamie Bynoe-Gittens (Borussia Dortmund), open play, 0.06 xG, saved 74’ Julian Brandt (Borussia Dortmund), open play, 0.06 xG, goal 28’ Dennis Geiger (Hoffenheim), direct free kick, 0.05 xG, off target 58’ Bazoumana Touré (Hoffenheim), open play, 0.05 xG, off target 48’ Felix Nmecha (Borussia Dortmund), open play, 0.04 xG, blocked 67’ Julian Ryerson (Borussia Dortmund), open play, 0.03 xG, blocked 11’ Bazoumana Touré (Hoffenheim), open play, 0.03 xG, saved 54’ Bazoumana Touré (Hoffenheim), open play, 0.02 xG, off target 90+2’ Pavel Kaderábek (Hoffenheim), open play, 0.02 xG, off target 38’ Anton Stach (Hoffenheim), open play, 0.02 xG, blocked 24’ Jamie Bynoe-Gittens (Borussia Dortmund), 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
Oliver Baumann GK900 0.000.051
Arthur Chaves DEF900 0.000.000
Leo Østigard DEF900 0.000.000
Kevin Akpoguma DEF290 0.000.000
Pavel Kaderábek MID9012 0.290.000
Marius Bülter MID750 0.000.021
Anton Stach MID9011 0.020.112
Dennis Geiger MID811 0.050.021
Andrej Kramaric MID901 0.100.000
Bazoumana Touré MID903 0.100.000
Adam Hlozek FWD7512 0.160.101
Stanley N'Soki Sub610 0.000.112
David Jurásek Sub1510 0.000.271
Haris Tabakovic Sub151 0.470.000
Umut Tohumcu Sub90 0.000.471

Starters first, then substitutes. xA is expected assists.

Before kick-off

Hoffenheim win 24% Avg odds 3.97
Draw 24% Avg odds 3.96
Borussia Dortmund win 52% Avg odds 1.84

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.