Match summary
Heidenheim and Kaiserslautern could not be separated in a goalless draw.
Kaiserslautern had the better of the chances, with 1.28 expected goals (xG) from 16 shots to Heidenheim's 0.78 from 13.
9 October 2026 · 2. Bundesliga · 2026/27 · Referee Florian Lechner
Half-time: 0–0
Heidenheim and Kaiserslautern could not be separated in a goalless draw.
Kaiserslautern had the better of the chances, with 1.28 expected goals (xG) from 16 shots to Heidenheim's 0.78 from 13.
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.
Tap a goal for the scorer and score.
Every shot and where it was taken from.
Hover or tap a shot for the player, minute and xG.
| 90′ | 3 | 0 | 50 | 2 | – | – | – | – |
| 90′ | 1 | 1 | – | 1 | – | 35 | 1 | – | – | – | ||
| 90′ | 1 | 3 | 1 | 8 | 5 | 33 | 2 | – | – | – | ||
| 90′ | 2 | 2 | – | 5 | 2 | 44 | – | – | – | – | ||
| 90′ | 6 | 6 | 1 | 6 | – | 37 | – | – | – | – |
Paul Hennrich
Taken off
|
80′ | – | – | 18 | 3 | 0.23 | 5 | 1 | 6 | 1 | – | – | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 90′ | – | – | 39 | – | 0.02 | 3 | 1 | 9 | 1 | – | – | ||
| 90′ | – | – | 39 | – | 0.02 | – | – | 13 | 2 | 1 | – | ||
Christian Conteh
Taken off
|
64′ | – | – | 21 | – | 0.01 | 1 | 1 | 6 | 2 | 2 | – | |
| 90′ | – | – | 16 | – | 0.02 | 1 | 2 | 4 | – | 1 | – |
Mikkel Kaufmann
Taken off
|
45′ | – | – | – | – | – | 0.00 | – | 4 | 2 | 10 | – | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Budu Zivzivadze
Came on as a substitute
|
45′ | – | – | – | – | – | 0.01 | 2 | 2 | – | 12 | – | |
Alessandro Vogt
Came on as a substitute
|
26′ | – | – | 1 | – | 0.06 | 0.00 | – | – | – | 2 | – | |
Yannik Wagner
Came on as a substitute
|
10′ | – | – | 1 | – | 0.04 | – | – | – | – | 1 | – |
| 90′ | 4 | 0 | 44 | – | – | – | – | – |
| 90′ | 2 | 3 | – | 8 | 6 | 34 | 1 | – | – | – | ||
Maxwell Gyamfi
Taken off
|
59′ | – | 1 | 1 | 3 | 2 | 18 | – | – | – | – | |
Jacob Rasmussen
Taken off
|
80′ | – | – | – | 4 | 4 | 37 | 1 | – | – | – | |
Alex Murphy
Came on as a substitute
|
31′ | 1 | – | – | 3 | 2 | 9 | – | – | – | – |
| 90′ | – | – | 36 | 2 | 0.01 | 4 | 1 | 7 | 2 | 1 | – | ||
| 90′ | – | – | 35 | – | 0.01 | 3 | 2 | 10 | – | 3 | – | ||
| 90′ | – | – | 30 | 2 | 0.21 | 2 | 3 | 5 | 2 | – | – | ||
| 90′ | – | – | 32 | 1 | 0.02 | 3 | 2 | 6 | 1 | 1 | – | ||
Ibrahim Kanate
Came on as a substitute
|
26′ | – | – | 6 | 1 | 0.30 | – | – | 3 | – | – | – | |
Thierry Fidjeu-Tazemeta
Came on as a substitute
|
26′ | – | – | 6 | – | 0.00 | – | – | 2 | 3 | – | – | |
Leon Robinson
Came on as a substitute
|
10′ | – | – | 4 | 1 | 0.12 | – | – | – | – | – | – |
Naatan Skyttä
Taken off
|
80′ | – | – | 1 | – | 0.05 | 0.02 | – | 4 | – | 22 | – | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Marlon Ritter
Taken off
|
64′ | – | – | 3 | – | 0.10 | 0.41 | 3 | 2 | 1 | 24 | – | |
Mergim Berisha
Taken off
|
64′ | – | – | 1 | – | 0.20 | 0.01 | – | 2 | 1 | 16 | – | |
Erencan Yardımcı
Came on as a substitute
|
10′ | – | – | 3 | – | 0.57 | 0.00 | – | 1 | – | 3 | – |
Every player who took the pitch, starters first and then substitutes. A dash means none. xG and xA are expected goals and assists.
Chances implied by the average closing odds, with the bookmaker margin removed.
Shots, expected goals, timeline, lineups, team and player statistics from Bzzoiro Sports Data (sports.bzzoiro.com). Results and odds from football-data.co.uk.