Bundesliga · Matchweek 30
Andrej Kramarić 42' (pen)
Andrej Kramarić 90' (pen)
HT 1:0
Serhou Guirassy 87'
Sat, 18 Apr 2026, 14:30 (UK) · PreZero Arena, Sinsheim
1899 Hoffenheim · 54 pts|Borussia Dortmund · 64 pts

1899 Hoffenheim won on the scoreboard and on xG (2.25–0.7).

Player of the matchAndrej Kramarić8.1Decisive moment90' Andrej Kramarić+1.4

1899 Hoffenheim 2-1 Borussia Dortmund

Key numbers

  • Possession 46% – 54%
  • Shots 13 (4 on target) – 8 (3)
  • Decisive moment: 90' Andrej Kramarić, FN xPts +1.4
Player of the match
Andrej Kramarić 8.1Dominant

Highest FN Score on the pitch: 8.1 (Dominant)

Game state

1-01-12-1
1899 Hoffenheim ahead 45 min · level 45 min · Borussia Dortmund ahead 0 min
  • Ramy Bensebaini — off the bench 48 min · 0G 1A
  • Serhou Guirassy — off the bench 30 min · 1G 0A

FN xPts — what each moment was worth

How much each moment changed that team's expected points (win 3, draw 1). A goal's value is credited 70% to the scorer and 30% to the assist.

42' Andrej Kramarić Pen goal +0.8
87' Serhou Guirassy Goal · scorer +0.6 · assist Ramy Bensebaini +0.3 +0.9
90' Andrej Kramarić Pen goal +1.4
1899 Hoffenheim Expected (last two seasons) 1.3Own moments +2.2Opponent moments −1.4Time effect +0.9→ League points won 3
Borussia Dortmund Expected (last two seasons) 1.4Own moments +0.9Opponent moments −1.7Time effect −0.6→ League points won 0

Expected points don't add up to a fixed total (a draw is 1 + 1), so an opponent's moment isn't simply the mirror of your loss. "Time effect" is the change as the clock runs down on a lead or a chase, and isn't credited to any player.

How FN Score and FN xPts work →

Match stats

1899 HoffenheimBorussia Dortmund
46%Possession54%
2.25Expected goals (xG)0.7
0.17xG per shot0.09
13Shots8
4Shots on target3
31%Shots on target %38%
8Shots in box6
381Passes436
81%Pass accuracy82%
4Corners3
2Saves2
14Fouls11
2Yellow cards3
6Offsides3

Compared with usual

1899 Hoffenheim

31 matches this season, all competitions baseline
This matchAvg
Goals22
Conceded11.4
xG2.251.5
xG against0.71.4
Shots1313.7
On target45.2
Shots faced812.6
xG per shot0.170.11
Possession46%55.5%
Passes381475.8
Pass accuracy81%80.1%
Corners45.6
Fouls1414.1

Borussia Dortmund

42 matches this season, all competitions baseline
This matchAvg
Goals12
Conceded21.2
xG0.71.7
xG against2.251.1
Shots812.9
On target34.6
Shots faced1311.1
xG per shot0.090.13
Possession54%53.6%
Passes436503.9
Pass accuracy82%83.4%
Corners35.4
Fouls1111.2

Timeline

  • 31' Yellow Wouter Burger
  • 39' VAR Andrej Kramarić
  • 42' Sub Niklas Sule → Ramy Bensebaini
  • 42' Goal Andrej Kramarić (pen) league goal #11
  • 60' Sub Bazoumana Touré → Alexander Prass
  • 60' Sub Wouter Burger → Grischa Promel
  • 60' Sub Fábio Silva → Serhou Guirassy
  • 71' Sub Marcel Sabitzer → Samuele Inacio
  • 71' Sub Daniel Svensson → Julian Brandt
  • 72' Sub Bernardo → Robin Hranáč
  • 77' Yellow Alexander Prass
  • 82' Sub Tim Lemperle → Max Moerstedt
  • 84' Yellow Nico Schlotterbeck
  • 87' Goal Serhou Guirassy league goal #14 assist Ramy Bensebaini
  • 90' Goal Andrej Kramarić (pen) league goal #12
  • 90+6' VAR Alexander Prass
  • 90+7' Yellow Julian Ryerson
  • 90+10' Yellow Samuele Inacio

Category leaders

  • Key passesVladimir Coufal2
  • Duels wonOzan Kabak8/14
  • DribblesJulian Ryerson3/5
  • Defensive actionsWaldemar Anton7
  • ShotsAndrej Kramarić3 (on target 3)
  • Fouls wonMarcel Sabitzer4

Past-season matches are summarised from match data (API-Football) without a written review. FN Score and FN xPts are calculated by Fulltime Note using a published formula.