Hoffenheim vs Borussia Dortmund

18 April 2026 · Bundesliga · 2025/26 · Referee Daniel Siebert

Full time 2 – 1

Half-time: 1–0

  • Andrej Kramaric 42’ (pen), 90+8’ (pen)
  • Serhou Guirassy 87’

Match summary

Hoffenheim won 2-1 at home to Borussia Dortmund, with the winner arriving in stoppage time. Hoffenheim led 1-0 at half-time.

Andrej Kramaric put Hoffenheim ahead from the penalty spot in the 42nd minute, Serhou Guirassy equalised in the 87th minute, set up by Ramy Bensebaini, and Kramaric won it from the penalty spot in stoppage time.

The chances backed that up: Hoffenheim created 2.23 expected goals (xG) from 13 shots to Borussia Dortmund's 1.28 from 8.

Match stats

46% Possession 54%
13 Shots 8
4 Shots on target 3
4 Corners 3
79 Attacks 101
33 Dangerous attacks 74
381 Passes 436
81% Pass accuracy 82%
17 Tackles 15
14 Fouls 11
2 Yellow cards 3
0 Red cards 0
6 Offsides 3

Key events

Hoffenheim Borussia Dortmund
Kick-off
Andrej KramaricShot on target
26’
29’
Waldemar AntonShot on target
Wouter BurgerArgument
31’
Christian Ilzer
31’
VAR review
39’
Andrej KramaricPenalty1-0 (Hoffenheim)
42’
42’
Ramy BensebainiNiklas SüleInjury
Half-time1-0
Second half underway
Ozan KabakShot on target
62’
71’
Julian BrandtDaniel Svensson
72’
77’
84’
87’
Serhou GuirassyRight foot shot1-1 (Borussia Dortmund)
90+1’
Maximilian BeierShot on target
VAR review
90+6’
90+7’
Julian RyersonArgument
Andrej KramaricPenalty2-1 (Hoffenheim)
90+8’
90+10’
Samuele InácioArgument
Christian Ilzer
90+11’
Full-time2-1

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’ 105’ HT 2.23 1.28 42’ Andrej Kramaric (Hoffenheim), 1-0 42’ 87’ Serhou Guirassy (Borussia Dortmund), 1-1 87’ 90+8’ Andrej Kramaric (Hoffenheim), 2-1 90+8’ 0.0 0.5 1.0 1.5 2.0 2.5 3.0 0’ 15’ 30’ 45’ 60’ 75’ 90’ 105’ HT 2.23 1.28 42’ Andrej Kramaric (Hoffenheim), 1-0 Kramaric 42’ 87’ Serhou Guirassy (Borussia Dortmund), 1-1 Guirassy 87’ 90+8’ Andrej Kramaric (Hoffenheim), 2-1 Kramaric 90+8’
Hoffenheim 2.23 xGBorussia Dortmund 1.28 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 
42’ Andrej Kramaric (Hoffenheim), penalty, 0.76 xG, goal 90+8’ Andrej Kramaric (Hoffenheim), penalty, 0.76 xG, goal 13’ Daniel Svensson (Borussia Dortmund), open play, 0.70 xG, off target 26’ Andrej Kramaric (Hoffenheim), open play, 0.30 xG, saved 65’ Daniel Svensson (Borussia Dortmund), open play, 0.29 xG, blocked 90+13’ Julian Brandt (Borussia Dortmund), direct free kick, 0.14 xG, off target 31’ Tim Lemperle (Hoffenheim), open play, 0.09 xG, blocked 1’ Fisnik Asllani (Hoffenheim), open play, 0.06 xG, off target 44’ Vladimir Coufal (Hoffenheim), open play, 0.05 xG, off target 62’ Ozan Kabak (Hoffenheim), from a corner, 0.05 xG, saved 65’ Maximilian Beier (Borussia Dortmund), open play, 0.05 xG, off target 37’ Andrej Kramaric (Hoffenheim), open play, 0.04 xG, blocked 90+1’ Maximilian Beier (Borussia Dortmund), open play, 0.05 xG, saved 6’ Tim Lemperle (Hoffenheim), open play, 0.04 xG, hit the woodwork 87’ Serhou Guirassy (Borussia Dortmund), open play, 0.04 xG, goal 88’ Ozan Kabak (Hoffenheim), open play, 0.03 xG, off target 44’ Bernardo (Hoffenheim), open play, 0.02 xG, blocked 14’ Albian Hajdari (Hoffenheim), open play, 0.01 xG, blocked 29’ Waldemar Anton (Borussia Dortmund), open play, 0.02 xG, saved 1’ Fisnik Asllani (Hoffenheim), open play, 0.01 xG, blocked 56’ Carney Chukwuemeka (Borussia Dortmund), open play, 0.01 xG, blocked 42’ Andrej Kramaric (Hoffenheim), penalty, 0.76 xG, goal 90+8’ Andrej Kramaric (Hoffenheim), penalty, 0.76 xG, goal 13’ Daniel Svensson (Borussia Dortmund), open play, 0.70 xG, off target 26’ Andrej Kramaric (Hoffenheim), open play, 0.30 xG, saved 65’ Daniel Svensson (Borussia Dortmund), open play, 0.29 xG, blocked 90+13’ Julian Brandt (Borussia Dortmund), direct free kick, 0.14 xG, off target 31’ Tim Lemperle (Hoffenheim), open play, 0.09 xG, blocked 1’ Fisnik Asllani (Hoffenheim), open play, 0.06 xG, off target 44’ Vladimir Coufal (Hoffenheim), open play, 0.05 xG, off target 62’ Ozan Kabak (Hoffenheim), from a corner, 0.05 xG, saved 65’ Maximilian Beier (Borussia Dortmund), open play, 0.05 xG, off target 90+1’ Maximilian Beier (Borussia Dortmund), open play, 0.05 xG, saved 37’ Andrej Kramaric (Hoffenheim), open play, 0.04 xG, blocked 6’ Tim Lemperle (Hoffenheim), open play, 0.04 xG, hit the woodwork 87’ Serhou Guirassy (Borussia Dortmund), open play, 0.04 xG, goal 88’ Ozan Kabak (Hoffenheim), open play, 0.03 xG, off target 44’ Bernardo (Hoffenheim), open play, 0.02 xG, blocked 29’ Waldemar Anton (Borussia Dortmund), open play, 0.02 xG, saved 14’ Albian Hajdari (Hoffenheim), open play, 0.01 xG, blocked 1’ Fisnik Asllani (Hoffenheim), open play, 0.01 xG, blocked 56’ Carney Chukwuemeka (Borussia Dortmund), open play, 0.01 xG, blocked
Size shows xG Goal On target Off target or blocked

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

Lineups

Hoffenheim 4-2-3-1 Starting XI
Baumann
Coufal
Kabak
Hajdari
Bernardo 72’
Avdullahu
Burger 60’
Kramaric 2
Asllani
Touré 60’
Lemperle 82’
Borussia Dortmund 3-4-2-1 Starting XI
Kobel
Schlotterbeck
Anton
Süle 42’
Svensson 71’
Bellingham
Sabitzer 71’
Ryerson
Beier
Chukwuemeka
Silva 60’

Player stats

PlayerPosMinGAShxGxAKPCards
Oliver Baumann GK900 0.000.000
Vladimir Coufal DEF901 0.050.352
Albian Hajdari DEF901 0.010.000
Ozan Kabak DEF902 0.080.072
Bernardo DEF781 0.020.000
Leon Avdullahu MID900 0.000.000
Wouter Burger MID660 0.000.132
Andrej Kramaric MID9024 1.860.000
Fisnik Asllani MID902 0.070.072
Bazoumana Touré MID660 0.000.021
Tim Lemperle FWD892 0.130.000
Alexander Prass Sub240 0.000.000
Grischa Prömel Sub240 0.000.000
Robin Hranác Sub120 0.000.000
Max Moerstedt Sub10 0.000.000

Starters first, then substitutes. xA is expected assists.

Before kick-off

Hoffenheim win 43% Avg odds 2.19
Draw 25% Avg odds 3.82
Borussia Dortmund win 32% Avg odds 2.89

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.