TSG Hoffenheim 2–1 Borussia Dortmund
- Kramaric 42' (pen.)
- Kramaric 90+8' (pen.)
- Guirassy 87'
18 April 2026
The match in data
TSG Hoffenheim got the better of Borussia Dortmund, 2–1, on 18 April 2026, on matchday 30 of the 2025-26 Bundesliga.
Player of the match: Waldemar Anton (Borussia Dortmund), rated 61, thanks above all to 7 final-third passes and 7 duels won. Anton produced 1.1 times as much as a defender typically does, at 0.6 times the cost.
It is their 4th time as player of the match this season.
For TSG Hoffenheim, the highest-rated player was Albian Hajdari, with 70.
Andrej Kramaric scored twice.
Waldemar Anton
Borussia Dortmund · 90'
Produced 1.15× and cost 0.55× their position's average
- 7 final-third passes 1.1×
- 7 duels won 1.5×
- 3 tackles 1.7×
- 3 duels lost 0.8×
- 5 misplaced passes 0.7×
Match ratings
Everyone who played, sorted by rating. No rating: goalkeepers and anyone who played under 20 minutes.
| Player | Position | Min | Rating |
|---|---|---|---|
| Albian Hajdari | Defender | 90 | 70 |
| Grischa Prömel | Midfielder | 30 | 66 |
| Leon Avdullahu | Midfielder | 90 | 61 |
| Bazoumana Touré | Forward | 60 | 57 |
| Andrej Kramaric | Midfielder | 90 | 54 |
| Wouter Burger | Midfielder | 60 | 52 |
| Ozan Kabak | Defender | 90 | 51 |
| Vladimír Coufal | Defender | 90 | 38 |
| Bernardo | Defender | 72 | 36 |
| Tim Lemperle | Forward | 83 | 35 |
| Fisnik Asllani | Forward | 90 | 33 |
| Alexander Prass | Midfielder | 30 | 31 |
| Oliver Baumann | Goalkeeper | 90 | no rating |
| Robin Hranac | Defender | 18 | no rating |
| Max Moerstedt | Forward | 7 | no rating |
| Player | Position | Min | Rating |
|---|---|---|---|
| Serhou Guirassy | Forward | 30 | 77 |
| Ramy Bensebaini | Defender | 48 | 75 |
| Niklas Süle | Defender | 42 | 67 |
| Waldemar Anton ★ | Defender | 90 | 61 |
| Marcel Sabitzer | Midfielder | 71 | 59 |
| Nico Schlotterbeck | Defender | 90 | 44 |
| Daniel Svensson | Defender | 72 | 42 |
| Jobe Bellingham | Midfielder | 90 | 37 |
| Fábio Silva | Forward | 60 | 37 |
| Maximilian Beier | Forward | 90 | 33 |
| Julian Ryerson | Defender | 90 | 31 |
| Carney Chukwuemeka | Midfielder | 90 | 25 |
| Gregor Kobel | Goalkeeper | 90 | no rating |
| Samuele Inácio | Forward | 19 | no rating |
| Julian Brandt | Midfielder | 18 | no rating |
How is the rating calculated?
The rating measures a single match: what the player produced against what they cost, compared with the average for their position in that league and season, and adjusted by position (a 70 for a forward is as hard to get as a 70 for a defender). A normal match is around 50, 70 is already very good and only one in a hundred goes above 80. It is not the NVP, which ranks the whole season.