Karlsruhe vs Heidenheim

31 October 2026 · 2. Bundesliga · 2026/27 · Referee Sören Storks

Full time 2 – 1

Half-time: 1–0

  • Tim Civeja 19’
  • Marvin Wanitzek 80’
  • Alessandro Vogt 88’

Match summary

Karlsruhe saw off Heidenheim 2-1. Karlsruhe led 1-0 at half-time.

Tim Civeja put Karlsruhe ahead in the 19th minute, Marvin Wanitzek made it 2-0 with a direct free kick in the 80th minute, and Alessandro Vogt pulled one back to make it 2-1 with a header in the 88th minute.

There was little between the sides on chances: Karlsruhe created 1.51 expected goals (xG) from 13 shots, Heidenheim 1.26 from 19.

Match stats

45% Possession 55%
13 Shots 18
9 Shots on target 7
4 Corners 6
88 Attacks 74
42 Dangerous attacks 45
355 Passes 423
73.5% Pass accuracy 76.8%
23 Tackles 19
8 Fouls 13
2 Yellow cards 2
2 Offsides 2

Key events

Karlsruhe Heidenheim
Kick-off
Deniz OfliShot on target
7’
Christoph KobaldShot on target
8’
Tim CivejaShot on target
11’
Tim CivejaRight foot shot1-0 (Karlsruhe)
19’
22’
Patrick MainkaShot on target
30’
Budu ZivzivadzeShot on target
35’
Christian ContehShot on target
Shio Fukuda Shot on target
40’
Second half underway
Half-time1-0
55’
Shio Fukuda Shot on target
60’
64’
Budu ZivzivadzeShot on target
Tim CivejaShot on target
69’
77’
78’
Marvin WanitzekFree Kick2-0 (Karlsruhe)
80’
Viktor BerghShot on target
82’
83’
Alessandro VogtShot on target
Noel EichingerArgument
88’
88’
Alessandro VogtHeader2-1 (Heidenheim)
M. SenftManagerArgument
90’
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 0’ 15’ 30’ 45’ 60’ 75’ 90’ HT 1.51 1.26 19’ Tim Civeja (Karlsruhe), 1-0 19’ 80’ Marvin Wanitzek (Karlsruhe), 2-0 80’ 88’ Alessandro Vogt (Heidenheim), 2-1 88’ 0.0 0.5 1.0 1.5 2.0 0’ 15’ 30’ 45’ 60’ 75’ 90’ HT 1.51 1.26 19’ Tim Civeja (Karlsruhe), 1-0 Civeja 19’ 80’ Marvin Wanitzek (Karlsruhe), 2-0 Wanitzek 80’ 88’ Alessandro Vogt (Heidenheim), 2-1 Vogt 88’
Karlsruhe 1.51 xGHeidenheim 1.26 xG Goal

Tap a goal for the scorer and score.

Shot map

Every shot and where it was taken from.

 Heidenheim attacking Karlsruhe attacking 
60’ Shio Fukuda  (Karlsruhe), open play, 0.33 xG, saved 7’ Deniz Ofli (Karlsruhe), open play, 0.27 xG, saved 14’ Mikkel Kaufmann (Heidenheim), set piece, 0.23 xG, blocked 19’ Tim Civeja (Karlsruhe), open play, 0.24 xG, goal 49’ Mikkel Kaufmann (Heidenheim), from a corner, 0.20 xG, off target 40’ Shio Fukuda  (Karlsruhe), open play, 0.18 xG, saved 90+4’ Mikkel Kaufmann (Heidenheim), open play, 0.11 xG, blocked 90+3’ Marvin Wanitzek (Karlsruhe), open play, 0.09 xG, off target 88’ Alessandro Vogt (Heidenheim), set piece, 0.09 xG, goal 90+2’ Alessandro Vogt (Heidenheim), open play, 0.08 xG, blocked 13’ Oualid Mhamdi (Heidenheim), open play, 0.08 xG, off target 90+5’ Noel Eichinger (Karlsruhe), open play, 0.08 xG, off target 51’ Marcel Costly (Heidenheim), open play, 0.07 xG, off target 69’ Tim Civeja (Karlsruhe), open play, 0.07 xG, saved 80’ Marvin Wanitzek (Karlsruhe), direct free kick, 0.07 xG, goal 30’ Budu Zivzivadze (Heidenheim), open play, 0.06 xG, saved 82’ Viktor Bergh (Karlsruhe), open play, 0.06 xG, saved 11’ Tim Civeja (Karlsruhe), open play, 0.05 xG, saved 83’ Alessandro Vogt (Heidenheim), open play, 0.05 xG, saved 8’ Christoph Kobald (Karlsruhe), from a corner, 0.04 xG, saved 30’ Marcel Costly (Heidenheim), from a corner, 0.04 xG, off target 35’ Christian Conteh (Heidenheim), open play, 0.03 xG, saved 90+4’ Mikkel Kaufmann (Heidenheim), open play, 0.04 xG, off target 90+6’ Mathias Honsak (Heidenheim), open play, 0.04 xG, blocked 64’ Budu Zivzivadze (Heidenheim), open play, 0.03 xG, saved 22’ Patrick Mainka (Heidenheim), from a corner, 0.03 xG, saved 90+1’ Mikkel Kaufmann (Heidenheim), open play, 0.02 xG, off target 90+2’ Marvin Wanitzek (Karlsruhe), open play, 0.02 xG, off target 35’ Sandro Trémoulet (Karlsruhe), open play, 0.02 xG, off target 52’ Jan Schöppner (Heidenheim), open play, 0.02 xG, blocked 15’ Michael Heule (Heidenheim), from a corner, 0.02 xG, off target 77’ Michael Heule (Heidenheim), set piece, 0.02 xG, off target 60’ Shio Fukuda  (Karlsruhe), open play, 0.33 xG, saved 7’ Deniz Ofli (Karlsruhe), open play, 0.27 xG, saved 19’ Tim Civeja (Karlsruhe), open play, 0.24 xG, goal 14’ Mikkel Kaufmann (Heidenheim), set piece, 0.23 xG, blocked 49’ Mikkel Kaufmann (Heidenheim), from a corner, 0.20 xG, off target 40’ Shio Fukuda  (Karlsruhe), open play, 0.18 xG, saved 90+4’ Mikkel Kaufmann (Heidenheim), open play, 0.11 xG, blocked 90+3’ Marvin Wanitzek (Karlsruhe), open play, 0.09 xG, off target 88’ Alessandro Vogt (Heidenheim), set piece, 0.09 xG, goal 90+2’ Alessandro Vogt (Heidenheim), open play, 0.08 xG, blocked 13’ Oualid Mhamdi (Heidenheim), open play, 0.08 xG, off target 90+5’ Noel Eichinger (Karlsruhe), open play, 0.08 xG, off target 69’ Tim Civeja (Karlsruhe), open play, 0.07 xG, saved 51’ Marcel Costly (Heidenheim), open play, 0.07 xG, off target 80’ Marvin Wanitzek (Karlsruhe), direct free kick, 0.07 xG, goal 30’ Budu Zivzivadze (Heidenheim), open play, 0.06 xG, saved 82’ Viktor Bergh (Karlsruhe), open play, 0.06 xG, saved 11’ Tim Civeja (Karlsruhe), open play, 0.05 xG, saved 83’ Alessandro Vogt (Heidenheim), open play, 0.05 xG, saved 8’ Christoph Kobald (Karlsruhe), from a corner, 0.04 xG, saved 30’ Marcel Costly (Heidenheim), from a corner, 0.04 xG, off target 90+6’ Mathias Honsak (Heidenheim), open play, 0.04 xG, blocked 35’ Christian Conteh (Heidenheim), open play, 0.03 xG, saved 90+4’ Mikkel Kaufmann (Heidenheim), open play, 0.04 xG, off target 64’ Budu Zivzivadze (Heidenheim), open play, 0.03 xG, saved 22’ Patrick Mainka (Heidenheim), from a corner, 0.03 xG, saved 90+1’ Mikkel Kaufmann (Heidenheim), open play, 0.02 xG, off target 90+2’ Marvin Wanitzek (Karlsruhe), open play, 0.02 xG, off target 35’ Sandro Trémoulet (Karlsruhe), open play, 0.02 xG, off target 52’ Jan Schöppner (Heidenheim), open play, 0.02 xG, blocked 77’ Michael Heule (Heidenheim), set piece, 0.02 xG, off target 15’ Michael Heule (Heidenheim), from a corner, 0.02 xG, off target
Size shows xG Goal On target Off target or blocked

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

Lineups

Karlsruhe 3-5-2 Starting XI
Bernat
Kobald
Scholl
Trémoulet
Pedrosa
Wiethaup 67’
Civeja
Väänänen
Ofli 59’
Fukuda 90’
Wanitzek
Heidenheim 4-1-3-2 Starting XI
Dähne
Mhamdi 67’
Mainka
Föhrenbach
Heule
Schöppner 68’
Costly 79’
Hennrich 46’
Conteh 46’
Kaufmann
Zivzivadze

Player stats

Goalkeeper1 player
90′ 5 1 39 3 – – – –
Defenders4 players
90′ 4 2 – 8 2 44 1 – – –
90′ 1 3 1 8 5 29 1 – – –
90′ 3 – 2 11 5 33 1 – – –
Viktor Bergh Came on as a substitute
31′ – – – – – 4 – – – –
Midfielders6 players
90′ – – 17 – – 5 1 6 1 1 –
Kevin Wiethaup Taken off
67′ – – 34 2 – 1 – 5 1 2 –
90′ 1 – 30 – – – 1 4 1 – –
90′ – – 32 – – 4 1 4 1 –
Deniz Ofli Taken off
59′ – – 19 – – 3 – 6 – 1 –
Noel Eichinger Came on as a substitute
23′ – – 7 2 – 1 – 2 – –
Forwards2 players
Shio Fukuda  Taken off
89′ – – 2 2 0.50 – 2 5 – 13 –
90′ 1 1 3 1 0.18 – 3 5 2 54 –
Came on Taken off Sent off Red is the most in that position for the team

Every player who took the pitch, starters first and then substitutes. A dash means none. xG and xA are expected goals and assists.

Before kick-off

Karlsruhe win 29% Avg odds 3.22
Draw 24% Avg odds 3.81
Heidenheim win 47% Avg odds 1.95

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, timeline, lineups, team and player statistics from Bzzoiro Sports Data (sports.bzzoiro.com). Results and odds from football-data.co.uk.