FC Köln vs Heidenheim Prediction, Preview and Stats

Germany flag 2025/2026 Bundesliga, Germany
RheinEnergieStadion Sun, 10 May - 3:30 PM
Bundesliga
FC Köln KOE
1 Winner 3
Heidenheim HDH
Full Time Sun, 10 May 3:30 PM
Round 33 Regular Season
Marius Bülter - 10'
Goal
|
Goal
Jan Schöppner - 72', 8'
Arijon Ibrahimovic - 28'

CONTEXT

FC Köln hosted Heidenheim in a Bundesliga clash that ended in a surprising 1-3 defeat for the home side. Köln controlled possession at 66% but struggled to convert, trailing 1-2 at halftime after Heidenheim struck twice early. The visitors added a third goal in the second half, sealing a statement win despite being underdogs on paper. Heidenheim's clinical finishing overcame Köln's pressure, with no red cards or major disruptions altering the flow. This result marks a significant deviation from expectations, highlighting Heidenheim's efficiency on the counter. Köln's dominance in the ball failed to yield goals, exposing defensive vulnerabilities. Heidenheim climbs the table with this road victory, while Köln faces questions after the halftime lead slipped away.

TL;DR

  • Structural deviation: Heidenheim's 3-1 win showed a 71.1% significant structural deviation in their favor.
  • Efficiency shift: Team efficiencies stayed in line with pre-match expectations.
  • xG alignment: xG data unavailable, preventing alignment assessment.
  • Market alignment: Outcome did not align with pre-match market probabilities.
  • xG expectations: xG expectations could not be evaluated due to missing data.
  • Event impact: No major events like red cards impacted the match flow.
  • Red card distortion: Absence of red cards meant no distortion to the scoreline.
No standings statistics available.
No head-to-head records found.
0.5+ goals: 85%
1.5+ goals: 70%
2.5+ goals: 50%
3.5+ goals: 25%
Confidence: High (≥8 matches)

Quality vs Volume

Home: xG 1.8, Shots 12, xG/Shot 0.15
Away: xG 1.5, Shots 14, xG/Shot 0.11

Open Play vs Set Play

Open Play: 65%
Set Play: 35%

Expected Points

TeamxPts
Home1.8
Away1.2
ℹ️ Methodology: Expected Goals (xG) measures shot quality

Match referee

B. Dankert

Germany 25 matches in sample
Avg. cards 0.12
Fouls / match 0.52
Yellow cards / match 0.12
Red cards / match 0
Penalties / match 0

Other match officials

E. Beitinger

1st Assistant

Germany

E. Müller

2nd Assistant

Germany

F. Bickel

4th Official

Germany

League averages

Bundesliga Based on last 100 matches

Fouls / match 17.51
Yellow cards / match 3.2
Red cards / match 0.19
Penalties / match 0.29
FC Köln R. Wagner
R. Wagner
VS
Heidenheim F. Schmidt
F. Schmidt
0.82
Avg Points / Game (Last 100 Matches)
0.82
1.17 i
Last 6 Opponents
FC Union Berlin Rank: 73 D
Bayer 04 Leverkusen Rank: 88 L
St. Pauli Rank: 72 D
Werder Bremen Rank: 76 W
Eintracht Frankfurt Rank: 80 D
Borussia Mönchengladbach Rank: 76 D
Avg Points / Game (Last 6 Matches)
1.5 i
Last 6 Opponents
FC Bayern München Rank: 100 D
St. Pauli Rank: 72 W
SC Freiburg Rank: 83 L
FC Union Berlin Rank: 75 W
Borussia Mönchengladbach Rank: 76 D
Bayer 04 Leverkusen Rank: 89 D
0
Head to Head (Wins - Draws - Losses)
0 - 2 - 1
1

Win Probabilities

Live Win Probability (90 Min)
Home FC Köln
47.26%
Draw
23.88%
Away Heidenheim
28.86%

Movement

Changes since opening
FC Köln
+47.06%
Draw
+21.96%
Heidenheim
-69.03%

Team Power Ranking

i
What is Power Ranking?
Power ranking is SportMonks' model-based team strength indicator. Historical input capped to 2 seasons.
62.18
73.79
0 (Weakest) 100 (Strongest)
Metric
FC Köln
Heidenheim
Power Score
62.18
73.79
League Position
14
17
Global Rank
121
136

Form Analysis Opponent-Weighted

Line chart of recent results (points/trend). Friendlies excluded by default. Hover for opponent, result, xG/xGA and power ranking — based on last 6 matches.

vs
FC Köln Opponent-weighted form score
Heidenheim Opponent-weighted form score
Win (3 pts) Draw (1 pt) Loss (0 pts) FC Köln Heidenheim

Heatmaps Ball coordinates

Attack and defence zones from ball position data. Filters: last 6 matches (overall/home/away), time period, competition.

vs

FC Köln

Left / Center / Right
Opposition half density
vs season average

Heidenheim

Left / Center / Right
Opposition half density
vs season average

Possession Efficiency Possession-Adjusted

How effectively each team uses and defends their share of possession. Efficiency adjusted based on team possession percentage

FC Köln ⚠ Proxy
vs
⚠ Proxy Heidenheim
Attacking Efficiency
Higher is better
Attacking Efficiency
32.80
37.06
Defensive Efficiency
Lower is better
Defensive Efficiency
37.06
32.80
Combined Efficiency Index Z-score combining attacking and defensive possession-adjusted efficiency.
Positive = above league average.
Negative = below league average.
Formula: EfficiencyIndex = z(AttackEff) − z(DefenceEff)
-3 0 3
FC Köln -0.37 Efficiency Index
vs
Heidenheim +0.37 Efficiency Index
xG data unavailable for both teams. Values estimated using shots and dangerous attacks (proxy). Confidence: Medium.
FC Köln
Heidenheim
AttackEff = xG ÷ pos
DefenceEff = xGA ÷ (1−pos)

Set Pieces Efficiency Attack & Defence

Set-piece reliance and strength using expected metrics and actual outcomes for each team.

FC Köln ⚠ Proxy
vs
⚠ Proxy Heidenheim
Created Set-piece attacking threat
FC Köln Heidenheim
Set-piece xG Share Share of total expected goals generated from set pieces. Higher = more set-piece reliant in attack.
Goals per Match Average set-piece goals scored per match.
0.00 0.00
vs Expected (xG) Goals scored minus set-piece xG. Positive = overperforming; Negative = underperforming expectations.
vs
Conceded Set-piece defensive exposure
FC Köln Heidenheim
Set-piece xGA Share Share of total expected goals conceded from set pieces. Higher = more exposed to set pieces defensively.
Conceded per Match Average set-piece goals conceded per match.
0.00 0.00
vs Expected (xGA) Goals conceded minus set-piece xGA. Positive = conceding more than expected (bad); Negative = conceding less than expected (good).
vs
xG set-piece data unavailable for both teams. Values estimated using proxy metrics (shots, dangerous attacks). Confidence: Medium.
FC Köln
Heidenheim
xG Share = set-piece xG ÷ total xG
vs Expected = goals − set-piece xG

Counter / Transition Attack & Defence

What happens in the 15 seconds immediately after possession changes hands — based on Last 6 matches.

FC Köln
vs
Heidenheim
Attack After Winning Possession transition → offence
FC Köln Heidenheim
Goals per Match Average goals scored within 15s of winning the ball per match. ↑ better
Shots per Match Average shots taken within 15s of winning the ball per match. ↑ better
Dangerous Attacks Average dangerous attacks launched within 15s of winning possession per match. ↑ better
Defence After Losing Possession loss → defensive exposure
FC Köln Heidenheim
Goals Conceded Average goals conceded within 15s of losing the ball per match. ↓ better
Shots Conceded Average shots conceded within 15s of losing the ball per match. ↓ better
Dangerous Attacks Conceded Average dangerous attacks allowed within 15s of losing possession per match. ↓ better
FC Köln
Heidenheim
Window = 15s post-possession change
Index = 0–1 composite score

PRESSURE INDEX

Momentum phases from smoothed minute-by-minute pressure.

  • KOE had peak pressure around 84'.
  • KOE started the game with stronger pressure.
KOE Pressure HDH Pressure
Pressure Index: KOE reached the top pressure at 84' (96.38).

Team Head to Head Last 6 Seasons

Summary of 3 matches between these sides — filtered by competition and venue context.

FC Köln KOE Home
3 matches
Heidenheim HDH Away
Match Record
0
Wins
1
2
Draws
2
1
Losses
0
Goals
4
Goals Scored
7
7
Goals Conceded
4
-3
Goal Difference
+3

Data last updated: 2026-05-11T00:05:11+00:00

STARTING XI

Match Formation 4-2-3-1
Match Formation 4-2-2-2
Pitch
M. Schwäbe
Germany
1 M. Schwäbe
S. Sebulonsen
Norway
28 S. Sebulonsen
J. Schmied
Substitution
Switzerland
2 J. Schmied
C. Özkacar
Substitution
Türkiye
39 C. Özkacar
K. Hansen
Substitution
Denmark
32 K. Hansen
T. Krauß
Substitution
Germany
5 T. Krauß
Í. Jóhannesson
Iceland
18 Í. Jóhannesson
L. Maina
Substitution
Germany
37 L. Maina
J. Kamiński
Poland
16 J. Kamiński
S. El Mala
Germany
13 S. El Mala
M. Bülter
Germany
30 M. Bülter
Pitch
F. Feller
Germany
40 F. Feller
H. Behrens
Germany
26 H. Behrens
J. Föhrenbach
Germany
19 J. Föhrenbach
P. Mainka
Germany
6 P. Mainka
H. Traorè
Substitution
Germany
23 H. Traorè
N. Dorsch
Germany
30 N. Dorsch
J. Schöppner
Germany
3 J. Schöppner
A.Ibrahimovic
Substitution
Germany
22 A.Ibrahimovic
E. Dinkci
Substitution
Germany
8 E. Dinkci
B. Zivzivadze
Substitution
Georgia
11 B. Zivzivadze
M. Pieringer
Substitution
Germany
18 M. Pieringer

General Information

Date & Time :
May 10, 2026, 03:30 PM
Competition :
2025/2026 Bundesliga, Germany · Round 33 · Regular Season
Stadium :
RheinEnergieStadion
Capacity :
50000
Attendance :
50000
Pitch Surface :
Grass
Weather :
☀️ 12°C, Fair
Referees :
Eduard Beitinger
Eric Müller
Felix Bickel
Bastian Dankert

Statistics

Possession
KOE
60%
HDH
40%

Top Statistics

1 Goals 3
3 Big Chances Created 3
4 Shots 4
73 Dangerous attacks 32
66 Possession 34
6 Corners 4
8 Free kicks 9
2 Yellow Cards 2

Match Overview

53 Successful Dribbles Percentage 80
12 Successful Headers 21
17 Throwins 16
8 Goal Kicks 13
1 Assists 1
19 Dribble Attempts 10
10 Successful Dribbles 8
5 Substitutions 5
8 Goal Attempts 11
0 Injuries 1
76 Ball Safe 77

Attacking

130 Attacks 77
3 Big Chances Missed 1

Possession

52 Long Passes 55
30 Successful Long Passes 27
58 Successful Long Passes Percentage 49
87 Successful Passes Percentage 73
489 Successful Passes 203
11 Key Passes 8
562 Passes 278

Defensive

6 Interceptions 13
6 Tackles 21
35 Duels Won 58
2 Saves 6

Build-up

23 Total Crosses 15
5 Accurate Crosses 5

Discipline

0 Offsides 3
9 Fouls 8

Lineup

Referee : Bastian Dankert

Starting XI

1
Marvin Schwäbe
Marvin Schwäbe Goalkeeper
2
Joël Schmied
Joël Schmied Defender
17
Alessio Castro-Montes
Alessio Castro-Montes
Midfielder71'
28
Sebastian Sebulonsen
Sebastian Sebulonsen Defender
32
Kristoffer Lund
Kristoffer Lund Defender
38
Youssoupha Niang
Youssoupha Niang
Attacker89'
39
Cenk Özkacar
Cenk Özkacar Defender
3
Dominique Heintz
Dominique Heintz
Defender89'
5
Tom Krauß
Tom Krauß Midfielder
7
Luca Waldschmidt
Luca Waldschmidt
Attacker58'
13
Said El Mala
Said El Mala Midfielder
16
Jakub Kamiński
Jakub Kamiński Midfielder
18
Ísak Jóhannesson
Ísak Jóhannesson Midfielder
37
Linton Maina
Linton Maina Midfielder
11
Florian Kainz
Florian Kainz
Midfielder71'
30
Marius Bülter
Marius Bülter Attacker
Referee : Bastian Dankert

Starting XI

40
Frank Feller
Frank Feller Goalkeeper
6
Patrick Mainka
Patrick Mainka Defender
19
Jonas Föhrenbach
Jonas Föhrenbach Defender
23
Omar Traoré
Omar Traoré Defender
25
Leonidas Stergiou
Leonidas Stergiou
Defender76'
26
Hennes Behrens
Hennes Behrens Defender
3
Jan Schöppner
Jan Schöppner Midfielder
2
8
Eren Dinkçi
Eren Dinkçi Midfielder
20
Luca Kerber
Luca Kerber
Midfielder83'
22
Arijon Ibrahimovic
Arijon Ibrahimovic Midfielder
10
Christian Conteh
Christian Conteh
Attacker76'
30
Niklas Dorsch
Niklas Dorsch Midfielder
11
Budu Zivzivadze
Budu Zivzivadze Attacker
17
Mathias Honsak
Mathias Honsak
Attacker83'
18
Marvin Pieringer
Marvin Pieringer Attacker
9
Stefan Schimmer
Stefan Schimmer
Attacker89'

Events

2ND-HALF
Event
Youssoupha Niang Kristoffer Lund
9th Substitution
89'
Event
Ísak Jóhannesson
Argument / 4th Yellowcard
89'
Event
Dominique Heintz Cenk Özkacar
8th Substitution
89'
89'
Event
Stefan Schimmer Marvin Pieringer
10th Substitution
83'
Event
Mathias Honsak Budu Zivzivadze
6th Substitution
83'
Event
Luca Kerber Eren Dinkçi
7th Substitution
76'
Event
Christian Conteh Arijon Ibrahimovic
4th Substitution
76'
Event
Leonidas Stergiou Omar Traoré
5th Substitution
72'
Event
Jan Schöppner
Right foot shot / 4th Goal
Event
Florian Kainz Linton Maina
2nd Substitution
71'
Event
Alessio Castro-Montes Joël Schmied
3rd Substitution
71'
Event
Luca Waldschmidt Tom Krauß
1st Substitution
58'
Event
Said El Mala
Foul / 3rd Yellowcard
55'
1ST-HALF
37'
Event
Budu Zivzivadze
Foul / 2nd Yellowcard
30'
Event
Eren Dinkçi
Foul / 1st Yellowcard
28'
Event
Arijon Ibrahimovic
Right foot shot / 3rd Goal
Event
Marius Bülter
Right foot shot / 2nd Goal
10'
8'
Event
Jan Schöppner
Header / 1st Goal

Match Commentary

90
Corner Corner
Corner awarded to 1. FC Köln after a concession by Leonidas Stergiou.
90
Update Update
The second half ends with 1. FC Köln losing 1-3 to 1. FC Heidenheim 1846.
90
Attempt Attempt
Luca Waldschmidt from 1. FC Köln missed a chance, shooting with his right foot from outside the box to the left.
90
Corner Corner
Corner awarded to 1. FC Köln after a concession by Hennes Behrens.
90
Update Update
The fourth official has indicated there will be 6 minutes of added time.
90
Attempt Attempt
Sebastian Sebulonsen from 1. FC Köln misses a chance as his right-footed shot from outside the box goes over the goal. The assist was provided by Ísak Bergmann Jóhannesson.
90
Corner Corner
Corner awarded to 1. FC Köln after a concession by Leonidas Stergiou.
89
Yellow Card Yellow Card Important
Ísak Bergmann Jóhannesson from 1. FC Köln receives a yellow card.
89
Substitution Substitution
Substitution for 1. FC Köln: Dominique Heintz replaces Cenk Özkacar.
89
Substitution Substitution
Substitution for 1. FC Heidenheim 1846: Stefan Schimmer replaces Marvin Pieringer.
89
Substitution Substitution
Substitution for 1. FC Köln: Youssoupha Niang replaces Kristoffer Lund.
88
Update Update
There is a delay in the match due to an injury to Patrick Mainka from 1. FC Heidenheim 1846.
86
Corner Corner
Marvin Pieringer from 1. FC Heidenheim 1846 missed a chance, heading the ball from the center of the box after a corner.
85
Corner Corner
Corner awarded to 1. FC Heidenheim 1846 after Marvin Schwäbe concedes.
84
Update Update
Luca Kerber from 1. FC Heidenheim 1846 won a free kick in defense.
84
Update Update
Fouled by Florian Kainz of 1. FC Köln.
83
Substitution Substitution
Substitution for 1. FC Heidenheim 1846: Luca Kerber replaces Eren Dinkçi.
83
Substitution Substitution
Substitution for 1. FC Heidenheim 1846: Mathias Honsak replaces Budu Zivzivadze.
83
Attempt Attempt
Florian Kainz from 1. FC Köln misses a chance as his right-footed shot from outside the box goes over the goal.
81
Update Update
Hennes Behrens from 1. FC Heidenheim 1846 won a free kick in the attacking area.
80
Attempt Attempt
Missed chance. Alessio Castro-Montes of 1. FC Köln heads the ball from the center of the box.
78
Update Update
Fouled by Leonidas Stergiou of 1. FC Heidenheim 1846.
78
Update Update
Saïd El Mala of 1. FC Köln was awarded a free kick on the left wing.
77
Corner Corner
Marius Bülter of 1. FC Köln attempts a header from the center of the box, but Frank Feller of 1. FC Heidenheim 1846 saves it in the left corner. The assist comes from Alessio Castro-Montes with a cross.
76
Substitution Substitution
Substitution for 1. FC Heidenheim 1846: Leonidas Stergiou replaces Omar Haktab Traoré due to injury.
76
Substitution Substitution
Substitution for 1. FC Heidenheim 1846: Christian Conteh replaces Arijon Ibrahimovic.
74
Attempt Attempt
Luca Waldschmidt of 1. FC Köln attempts an attack with a left-footed shot from the right side of the box, but Frank Feller of 1. FC Heidenheim 1846 saves it in the top center of the goal. The assist comes from Florian Kainz.
74
Update Update
Frank Feller from 1. FC Heidenheim 1846 won a free kick in defense.
72
GOAL! GOAL! Important
Goal! Jan Schöppner scores for 1. FC Heidenheim 1846 with a right-footed shot from the center of the box into the center of the goal. The match score is now 1-3.
72
Update Update
Frank Feller from 1. FC Heidenheim 1846 won a free kick in defense.
72
Update Update
Handball by Omar Haktab Traoré of 1. FC Heidenheim 1846.
71
Substitution Substitution
Substitution for 1. FC Köln: Alessio Castro-Montes replaces Joël Schmied.
71
Substitution Substitution
Substitution for 1. FC Köln: Florian Kainz replaces Linton Maina.
68
Corner Corner
Corner awarded to 1. FC Köln after Hennes Behrens concedes.
68
Attempt Attempt
New attacking attempt. Luca Waldschmidt from 1. FC Köln takes a right-footed shot from outside the box, but it's saved.
68
Attempt Attempt
Luca Waldschmidt's left-footed shot from the center of the box is blocked.
66
Update Update
Budu Zivzivadze of 1. FC Heidenheim 1846 is flagged for offside.
64
Attempt Attempt
New attacking attempt. Saïd El Mala from 1. FC Köln takes a right-footed shot from the left side of the box, but it's saved by goalkeeper Frank Feller from 1. FC Heidenheim 1846, who is positioned in the center of the goal. The assist comes from Ísak Bergmann Jóhannesson.
64
Corner Corner
New attacking attempt. Arijon Ibrahimovic of 1. FC Heidenheim 1846 has a right-footed shot from the left side of the box, but it's saved in the right corner by Marvin Schwäbe of 1. FC Köln. The assist came from Hennes Behrens.
62
Update Update
Jan Schöppner of 1. FC Heidenheim 1846 misses a chance, shooting with his right foot from the center of the box, but the ball goes high and wide to the right. The assist came from Arijon Ibrahimovic after a fast break.
60
Update Update
Jonas Föhrenbach from 1. FC Heidenheim 1846 won a free kick in defense.
60
Update Update
Fouled by Saïd El Mala of 1. FC Köln.
58
Substitution Substitution
Substitution for 1. FC Köln: Luca Waldschmidt replaces Tom Krauß.
58
Update Update
Budu Zivzivadze from 1. FC Heidenheim 1846 won a free kick in defense.
55
Yellow Card Yellow Card Important
Saïd El Mala from 1. FC Köln receives a yellow card for a foul.
54
Update Update
There is a delay in the match due to an injury to Saïd El Mala of 1. FC Köln.
54
Update Update
There is a delay in the match due to an injury to Niklas Dorsch from 1. FC Heidenheim 1846.
53
Update Update
Fouled by Saïd El Mala of 1. FC Köln.
53
Update Update
Niklas Dorsch from 1. FC Heidenheim 1846 won a free kick in defense.
52
Attempt Attempt
New attacking attempt. Marius Bülter from 1. FC Köln takes a right-footed shot from outside the box, but it's saved by goalkeeper Frank Feller from 1. FC Heidenheim 1846, who is positioned in the center of the goal. The assist comes from Linton Maina.
46
Corner Corner
Corner awarded to 1. FC Köln after a concession by Jonas Föhrenbach.
45
Update Update
First half ends with 1. FC Köln trailing 1-2 against 1. FC Heidenheim 1846.
45
Update Update
Foul committed by Tom Krauß of 1. FC Köln.
45
Update Update
Hennes Behrens of 1. FC Heidenheim 1846 won a free kick in an attacking position.
45
Update Update
The second half begins with the score at 1. FC Köln 1, 1. FC Heidenheim 1846 2.
45
Update Update
The fourth official has indicated there will be 2 minutes of added time.
45
Attempt Attempt
Missed chance for 1. FC Heidenheim 1846. Marvin Pieringer heads the ball from inside the six-yard box on the left side, but it goes high. The assist was provided by Eren Dinkçi with a cross.
41
Corner Corner
Corner awarded to 1. FC Heidenheim 1846 after Marvin Schwäbe concedes.
41
Corner Corner
Marvin Pieringer of 1. FC Heidenheim 1846 makes an attacking attempt, shooting with his right foot from the right side of the box. The shot is saved in the left corner by Marvin Schwäbe of 1. FC Köln, with an assist from Jan Schöppner.
38
Attempt Attempt
Saïd El Mala's left-footed shot from the center of the box is blocked. The assist came from Sebastian Sebulonsen.
37
Yellow Card Yellow Card Important
Budu Zivzivadze of 1. FC Heidenheim 1846 receives a yellow card for a foul.
37
Update Update
Joël Schmied of 1. FC Köln won a free kick in defense.
36
Update Update
Fouled by Marvin Pieringer of 1. FC Heidenheim 1846.
36
Update Update
Tom Krauß from 1. FC Köln won a free kick on the right wing.
34
Update Update
Offside called against 1. FC Heidenheim 1846. Budu Zivzivadze is in an offside position.
33
Update Update
Fouled by Hennes Behrens of 1. FC Heidenheim 1846.
33
Update Update
Linton Maina from 1. FC Köln won a free kick in the attacking area.
33
Attempt Attempt
Hennes Behrens from 1. FC Heidenheim 1846 has a left-footed shot from the left side of the box that is blocked. The assist was provided by Arijon Ibrahimovic.
30
Update Update
Fouled by Eren Dinkçi of 1. FC Heidenheim 1846.
30
Yellow Card Yellow Card Important
Eren Dinkçi from 1. FC Heidenheim 1846 receives a yellow card for a foul.
30
Update Update
Joël Schmied from 1. FC Köln won a free kick on the right wing.
28
GOAL! GOAL! Important
Goal! Arijon Ibrahimovic scores for 1. FC Heidenheim 1846 with a right-footed shot from the left side of the box into the high center of the goal. The score is now 1-2.
26
Attempt Attempt
Kristoffer Lund's right-footed shot from outside the box is blocked.
25
Attempt Attempt
Marius Bülter's right-footed shot from the center of the box is blocked.
25
Update Update
Joël Schmied's header from the center of the box is blocked. The assist came from Ísak Bergmann Jóhannesson's cross.
24
Update Update
Fouled by Patrick Mainka of 1. FC Heidenheim 1846.
24
Update Update
Saïd El Mala from 1. FC Köln won a free kick on the left wing.
23
Update Update
Foul committed by Marius Bülter of 1. FC Köln.
23
Update Update
Niklas Dorsch from 1. FC Heidenheim 1846 won a free kick in defense.
22
Attempt Attempt
Eren Dinkçi from 1. FC Heidenheim 1846 missed a chance, shooting with his right foot from the center of the box but sending the ball to the left.
21
Corner Corner
Corner awarded to 1. FC Heidenheim 1846 after a concession by Saïd El Mala.
15
Corner Corner
Corner awarded to 1. FC Heidenheim 1846 after a concession by Cenk Özkacar.
15
Attempt Attempt
Budu Zivzivadze's shot from the left side of the box is blocked. The assist came from Hennes Behrens, who delivered a cross.
12
Attempt Attempt
Marius Bülter's left-footed shot from outside the box is blocked. The assist came from Sebastian Sebulonsen.
12
Corner Corner
Corner awarded to 1. FC Köln after a concession by Niklas Dorsch.
10
Attempt Attempt
Linton Maina's left-footed shot from outside the box is blocked.
10
Corner Corner
New attacking attempt. Sebastian Sebulonsen of 1. FC Köln takes a right-footed shot from the right side of the box, but it's saved in the left corner by Frank Feller of 1. FC Heidenheim 1846.
10
GOAL! GOAL! Important
Goal! Marius Bülter scores for 1. FC Köln with a right-footed shot from the right side of the box into the top right corner, assisted by Tom Krauß. The match is now 1-1.
8
GOAL! GOAL! Important
Goal! Jan Schöppner scores for 1. FC Heidenheim 1846 with a header from the center of the box into the left corner, assisted by Arijon Ibrahimovic's cross. The score is now 1. FC Köln 0, 1. FC Heidenheim 1846 1.
4
Update Update
Offside called against 1. FC Heidenheim 1846. Budu Zivzivadze is offside.
1
Update Update
Fouled by Marvin Pieringer of 1. FC Heidenheim 1846.
1
Update Update
Joël Schmied of 1. FC Köln won a free kick in defense.

CONCLUSION

Heidenheim's triumph over FC Köln underscores their growing threat in the Bundesliga, turning 34% possession into a 3-1 victory through sharp finishing. Köln's 66% ball control yielded just one goal, revealing conversion issues despite halftime parity at 1-2. This significant deviation boosts Heidenheim's momentum, while Köln must regroup amid defensive lapses. Without xG data or disruptions, the result purely reflects on-field execution, positioning Heidenheim as spoilers against favored hosts.

FC Köln vs Heidenheim preview with tactical analysis, xG context, lineup signals, and data-backed betting insights for faster decisions.

Use this page as a quick-read snapshot first, then continue to deep stats and methodology references below.

How We Build This Analysis

BestPreviews combines tactical context, lineup quality, xG trends, and form data across competitions. Read the full methodology and FAQ.