1899 Hoffenheim 3 - 0 FT Lyon

Prezero Arena

Match previews and recaps to help you decide which games are worth watching

Futmetrix Verdict
31
FT
Thu, Oct 22
1899 Hoffenheim
3-0
Lyon
⚡ Intensity 45
⚖️ Balance 17
🏆 Stakes 3
🎲 Upset 0
Hoffenheim Punish Lyon’s Possession, Clinch Statement Win

Win Probability

  • 1899 Hoffenheim 47%
  • Draw 24%
  • Lyon 29%

Futmetrix AI estimate

1899 Hoffenheim Punish Lyon’s Possession

Skip It Futmetrix Score: 31/100. Hoffenheim’s ruthless finishing ended Lyon’s perfect Europa League start and gave their own campaign a badly needed jolt.

Opening Act

Lyon arrived with two wins from two and began with the ball, but the match never became theirs. They controlled possession at 57 per cent; Hoffenheim made their 43 per cent count with sharper, more direct attacks at Prezero Arena. The hosts’ 21 attempts against Lyon’s eight tell the story better than the possession split: every loose second ball seemed to invite another shot or corner. Across the night, 29 efforts produced 10 on target, while 20 corners kept both boxes under pressure. The Intensity came from the volume, but Hoffenheim also had the clearer route into danger. Andrej Kramarić showed it at 45+4, finding the breakthrough just before the interval and turning Lyon’s control into a deficit.

The Pivot

The lead was taken at the most damaging time. Kramarić’s 45+4 strike gave Hoffenheim a half-time reward, and the restart erased any chance of Lyon regrouping: four minutes after the break, Adam Daghim finished the move created by Kramarić. That sequence was the decisive pivot, not merely a quick second goal. Lyon still had the greater share of the ball, but the second strike forced them to chase a two-goal deficit against a side already generating chances at will. Hoffenheim’s expected-goals edge—2.12 to 0.68—underlined that the scoreline reflected the better openings. The Balance tilted sharply once the visitors had to attack with urgency, while the hosts could spring forward into space. Lyon’s eight shots, with only two on target, offered little answer.

Resolution

Adam Hložek came on in the 65th minute and put the finishing touch on a statement win, scoring in the 83rd after Kramarić supplied his second assist of the night. The substitute’s goal turned a commanding result into a clean, emphatic answer: Hoffenheim kept pressing rather than settling, while Lyon never found the precision to threaten a comeback. The Stakes were clear before kick-off: Lyon had six points from two Europa League matches; Hoffenheim had none. Now Hoffenheim have their first league-stage win, and Lyon’s perfect start is gone. The Upset carries weight because it came through a genuine chance-making gap, not a smash-and-grab: 2.12 expected goals to 0.68, and eight Hoffenheim shots on target to two. It is an early-stage reset, not a final verdict on either campaign.

Key Questions

What made A. Kramarić the Man of the Match?

He scored the opener, assisted Daghim and Hložek, and supplied five key passes—the decisive hand in all three goals.

How did substitute A. Kramarić change the game?

He wasn’t a substitute; he started. He scored at 45+4 and assisted goals in the 49th and 83rd minutes.

What is the Futmetrix Score?

The Futmetrix Score is our 0-100 verdict on how entertaining a match is. We look at intensity, balance, stakes, and star quality to tell you if it's worth your time.

Match Statistics

Possession
43%
57%
1899 Hoffenheim 43%
Lyon 57%
Shots
21
8
1899 Hoffenheim 21
Lyon 8
Shots on Target
8
2
1899 Hoffenheim 8
Lyon 2
Expected Goals (xG)
2.12
0.68
1899 Hoffenheim 2.12
Lyon 0.68
Passes
381
512
1899 Hoffenheim 381
Lyon 512
Corners
11
9
1899 Hoffenheim 11
Lyon 9
Fouls
20
6
1899 Hoffenheim 20
Lyon 6
Yellow Cards
3
1
1899 Hoffenheim 3
Lyon 1
Red Cards
0
0
1899 Hoffenheim 0
Lyon 0

Match Events

9' 🟨 Mats Rots
↓ Steeve Kango ↑Noham Kamara 🔄 31'
↓ Felix Bacher ↑Moussa Niakhaté 🔄 45'
↓ Tanner Tessmann ↑Tyler Morton 🔄 45'
45'+4 ⚽ Andrej Kramarić
HT
49' ⚽ Adam Daghim (Andrej Kramarić)
↓ Mads Bidstrup ↑Corentin Tolisso 🔄 60'
61' 🔄 ↓ Adam Daghim ↑Wouter Burger
61' 🔄 ↓ Vladimír Coufal ↑Valentin Gendrey
65' 🔄 ↓ Bambasé Conté ↑Adam Hložek
72' 🟨 Wouter Burger
↓ Kail Boudache ↑Ernest Nuamah 🔄 75'
77' 🔄 ↓ Mats Rots ↑Koki Machida
78' 🔄 ↓ Tim Lemperle ↑Fisnik Asllani
81' 🟨 Ozan Kabak
81' 🟨 Christian Ilzer
83' ⚽ Adam Hložek (Andrej Kramarić)
Moussa Niakhaté 🟨 90'+3
FT

Player Cards

Our take on every player in this match

1899 Hoffenheim

Goalkeepers
Oliver Baumann
ARCHITECT
ARCHITECT
1
Key Passes
1
Key Passes
0
Assists
26%
Pass Acc
Defenders
Vladimír Coufal
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
61
Total Mins
61
Entry
Robin Hranáč
STORMTROOPER
STORMTROOPER
2
Shots
2
Shots
0
Goals
1
On Target
Ozan Kabak
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
90
Total Mins
Started
Entry
Mats Rots
ARCHITECT
ARCHITECT
2
Key Passes
2
Key Passes
0
Assists
37%
Pass Acc
Midfielders
Andrej Kramarić
ARCHITECT
ARCHITECT
5
Key Passes
5
Key Passes
2
Assists
37%
Pass Acc
Bambasé Conté
STORMTROOPER
STORMTROOPER
3
Shots
3
Shots
0
Goals
0
On Target
Leon Avdullahu
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
90
Total Mins
Started
Entry
Alexander Prass
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
90
Total Mins
Started
Entry
Forwards
Tim Lemperle
LATE SHIFT
LATE SHIFT
12
Late Mins
12
Late Mins
78
Total Mins
78
Entry
Adam Daghim
SNIPER
SNIPER
50%
Conversion
50%
Conversion
1
Goals
2
Shots
BENCH
Lukas Petersson
SPECTATOR
SPECTATOR
0
Saves
0
Saves
0
Conceded
0
Minutes
Luca Philipp
SPECTATOR
SPECTATOR
0
Saves
0
Saves
0
Conceded
0
Minutes
Natnael Abraha
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
0
Total Mins
Started
Entry
Bernardo
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
0
Total Mins
Started
Entry
Valentin Gendrey
PROVOCATEUR
PROVOCATEUR
2
Fouls Won
2
Fouls Won
4
Duels Won
0
Pens Won
Valentin Lässig
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
0
Total Mins
Started
Entry
Koki Machida
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
13
Total Mins
Started
Entry
Wouter Burger
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
29
Total Mins
Started
Entry
Cajetan Benjamin Lenz
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
0
Total Mins
Started
Entry
Fisnik Asllani
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
12
Total Mins
Started
Entry
Adam Hložek
CLOSER
CLOSER
1
Late Goals
1
Late Goals
0
Late Assists
75
Minute
Max Moerstedt
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
0
Total Mins
Started
Entry

Lyon

Goalkeepers
Dominik Greif
OCTOPUS
OCTOPUS
5
Saves
5
Saves
0
Conceded
100%
Save %
Defenders
Steeve Kango
PROVOCATEUR
PROVOCATEUR
2
Fouls Won
2
Fouls Won
4
Duels Won
0
Pens Won
Clinton Mata
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
90
Total Mins
Started
Entry
Felix Bacher
ENFORCER
ENFORCER
3
Tackles
3
Tackles
4
Duels Won
100%
Win %
Ruben Kluivert
STORMTROOPER
STORMTROOPER
1
Shots
1
Shots
0
Goals
0
On Target
Midfielders
Mads Bidstrup
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
60
Total Mins
60
Entry
Tanner Tessmann
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
45
Total Mins
45
Entry
Noah Teye Nartey
PROVOCATEUR
PROVOCATEUR
3
Fouls Won
3
Fouls Won
4
Duels Won
0
Pens Won
Forwards
Kaïl Boudache
PROVOCATEUR
PROVOCATEUR
3
Fouls Won
3
Fouls Won
4
Duels Won
0
Pens Won
Rémi Himbert
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
90
Total Mins
Started
Entry
Keito Nakamura
MAGNET
MAGNET
48
Activity
48
Activity
38
Passes
10
Duels
BENCH
Rémy Descamps
SPECTATOR
SPECTATOR
0
Saves
0
Saves
0
Conceded
0
Minutes
Justin Bengui
SPECTATOR
SPECTATOR
0
Saves
0
Saves
0
Conceded
0
Minutes
Zachary Athekame
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
0
Total Mins
Started
Entry
Moussa Niakhaté
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
45
Total Mins
Started
Entry
Noham Kamara
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
59
Total Mins
Started
Entry
Abner
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
0
Total Mins
Started
Entry
Corentin Tolisso
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
30
Total Mins
Started
Entry
Tyler Morton
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
45
Total Mins
Started
Entry
Kiliane Merah
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
0
Total Mins
Started
Entry
Ernest Nuamah
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
15
Total Mins
Started
Entry
Julien Duranville
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
0
Total Mins
Started
Entry

Head to Head

Date Home Score Away Competition Venue
11/07/2024 1899 Hoffenheim 2 - 2 Lyon UEFA Europa League PreZero Arena
11/07/2018 Lyon 2 - 2 1899 Hoffenheim UEFA Champions League Parc Olympique Lyonnais
10/23/2018 1899 Hoffenheim 3 - 3 Lyon UEFA Champions League WIRSOL Rhein-Neckar-Arena
11/07/2024
UEFA Europa League PreZero Arena
11/07/2018
UEFA Champions League Parc Olympique Lyonnais
10/23/2018
UEFA Champions League WIRSOL Rhein-Neckar-Arena
1899 Hoffenheim Win
Lyon Win
Draw

League Standings

Pos Team P Pts GF GA GD Form
1 Bayer Leverkusen 3 9 8 0 +8 WOFI 0 - 2 Bayer Leverkusen (22-10-2026)WLech Poznan 0 - 4 Bayer Leverkusen (15-10-2026)WBayer Leverkusen 2 - 0 Celje (16-09-2026)
2 Ferencvarosi TC 3 9 9 3 +6 WFerencvarosi TC 4 - 1 Torreense (22-10-2026)WFerencvarosi TC 2 - 1 Plzen (15-10-2026)WCeltic 1 - 3 Ferencvarosi TC (17-09-2026)
3 Olympiakos Piraeus 3 9 4 1 +3 WOlympiakos Piraeus 1 - 0 Sparta Praha (22-10-2026)WMarseille 0 - 1 Olympiakos Piraeus (15-10-2026)WOlympiakos Piraeus 2 - 1 Jagiellonia (16-09-2026)
4 Union St. Gilloise 3 7 8 1 +7 WUnion St. Gilloise 4 - 0 Hapoel Beer Sheva (22-10-2026)DUnion St. Gilloise 1 - 1 Real Sociedad (15-10-2026)WPlzen 0 - 3 Union St. Gilloise (17-09-2026)
5 Juventus 3 7 9 3 +6 DJuventus 2 - 2 Rennes (22-10-2026)WCelta Vigo 1 - 2 Juventus (15-10-2026)WJuventus 5 - 0 NEC Nijmegen (17-09-2026)
6 Sunderland 3 7 4 2 +2 DLech Poznan 1 - 1 Sunderland (22-10-2026)WTorreense 1 - 2 Sunderland (15-10-2026)WSunderland 1 - 0 AZ Alkmaar (16-09-2026)
7 Benfica 2 6 6 1 +5 WBenfica 4 - 1 Celtic (15-10-2026)WAC Milan 0 - 2 Benfica (16-09-2026)
8 Beşiktaş 2 6 7 3 +4 W1899 Hoffenheim 2 - 3 Beşiktaş (15-10-2026)WBeşiktaş 4 - 1 Marseille (17-09-2026)
9 AZ Alkmaar 3 6 6 2 +4 WArarat-Armenia 0 - 4 AZ Alkmaar (22-10-2026)WAZ Alkmaar 2 - 1 Hapoel Beer Sheva (15-10-2026)LSunderland 1 - 0 AZ Alkmaar (16-09-2026)
10 Bournemouth 2 6 5 1 +4 WBournemouth 3 - 0 Sturm Graz (15-10-2026)WReal Sociedad 1 - 2 Bournemouth (17-09-2026)
11 Omonia Nicosia 2 6 4 0 +4 WCelje 0 - 3 Omonia Nicosia (15-10-2026)WOmonia Nicosia 1 - 0 Celta Vigo (16-09-2026)
12 Lyon 2 6 5 3 +2 WLyon 3 - 2 Crystal Palace (15-10-2026)WAnderlecht 1 - 2 Lyon (16-09-2026)
13 Rennes 3 5 4 3 +1 DJuventus 2 - 2 Rennes (22-10-2026)WRennes 2 - 1 OFI (15-10-2026)DSturm Graz 0 - 0 Rennes (16-09-2026)
14 Real Sociedad 3 4 8 3 +5 WLillestrom 0 - 6 Real Sociedad (22-10-2026)DUnion St. Gilloise 1 - 1 Real Sociedad (15-10-2026)LReal Sociedad 1 - 2 Bournemouth (17-09-2026)
15 Sparta Praha 3 4 5 3 +2 LOlympiakos Piraeus 1 - 0 Sparta Praha (22-10-2026)DSparta Praha 1 - 1 Lillestrom (15-10-2026)WArarat-Armenia 1 - 4 Sparta Praha (16-09-2026)
16 Levski Sofia 3 4 3 3 0 WPlzen 1 - 2 Levski Sofia (22-10-2026)DNEC Nijmegen 1 - 1 Levski Sofia (15-10-2026)LLevski Sofia 0 - 1 Red Bull Salzburg (17-09-2026)
17 Dinamo Zagreb 3 4 3 4 -1 LDinamo Zagreb 2 - 4 NEC Nijmegen (22-10-2026)WDinamo Zagreb 1 - 0 Anderlecht (15-10-2026)DHapoel Beer Sheva 0 - 0 Dinamo Zagreb (16-09-2026)
18 Sturm Graz 3 4 1 3 -2 WSturm Graz 1 - 0 Marseille (22-10-2026)LBournemouth 3 - 0 Sturm Graz (15-10-2026)DSturm Graz 0 - 0 Rennes (16-09-2026)
19 NEC Nijmegen 3 4 5 8 -3 WDinamo Zagreb 2 - 4 NEC Nijmegen (22-10-2026)DNEC Nijmegen 1 - 1 Levski Sofia (15-10-2026)LJuventus 5 - 0 NEC Nijmegen (17-09-2026)
20 Red Bull Salzburg 3 4 3 6 -3 DCelje 2 - 2 Red Bull Salzburg (22-10-2026)LRed Bull Salzburg 0 - 4 AC Milan (15-10-2026)WLevski Sofia 0 - 1 Red Bull Salzburg (17-09-2026)
21 Crystal Palace 2 3 6 3 +3 LLyon 3 - 2 Crystal Palace (15-10-2026)WCrystal Palace 4 - 0 Lech Poznan (17-09-2026)
22 AC Milan 2 3 4 2 +2 WRed Bull Salzburg 0 - 4 AC Milan (15-10-2026)LAC Milan 0 - 2 Benfica (16-09-2026)
23 Anderlecht 3 3 4 3 +1 WJagiellonia 0 - 3 Anderlecht (22-10-2026)LDinamo Zagreb 1 - 0 Anderlecht (15-10-2026)LAnderlecht 1 - 2 Lyon (16-09-2026)
24 Celta Vigo 3 3 3 4 -1 WCeltic 1 - 2 Celta Vigo (22-10-2026)LCelta Vigo 1 - 2 Juventus (15-10-2026)LOmonia Nicosia 1 - 0 Celta Vigo (16-09-2026)
25 OFI 3 3 3 4 -1 LOFI 0 - 2 Bayer Leverkusen (22-10-2026)LRennes 2 - 1 OFI (15-10-2026)WOFI 2 - 0 1899 Hoffenheim (17-09-2026)
26 Jagiellonia 3 3 4 6 -2 LJagiellonia 0 - 3 Anderlecht (22-10-2026)WJagiellonia 3 - 1 Ararat-Armenia (15-10-2026)LOlympiakos Piraeus 2 - 1 Jagiellonia (16-09-2026)
27 Torreense 3 3 4 7 -3 LFerencvarosi TC 4 - 1 Torreense (22-10-2026)LTorreense 1 - 2 Sunderland (15-10-2026)WLillestrom 1 - 2 Torreense (17-09-2026)
28 Celje 3 1 2 7 -5 DCelje 2 - 2 Red Bull Salzburg (22-10-2026)LCelje 0 - 3 Omonia Nicosia (15-10-2026)LBayer Leverkusen 2 - 0 Celje (16-09-2026)
29 Hapoel Beer Sheva 3 1 1 6 -5 LUnion St. Gilloise 4 - 0 Hapoel Beer Sheva (22-10-2026)LAZ Alkmaar 2 - 1 Hapoel Beer Sheva (15-10-2026)DHapoel Beer Sheva 0 - 0 Dinamo Zagreb (16-09-2026)
30 Lillestrom 3 1 2 9 -7 LLillestrom 0 - 6 Real Sociedad (22-10-2026)DSparta Praha 1 - 1 Lillestrom (15-10-2026)LLillestrom 1 - 2 Torreense (17-09-2026)
31 Lech Poznan 3 1 1 9 -8 DLech Poznan 1 - 1 Sunderland (22-10-2026)LLech Poznan 0 - 4 Bayer Leverkusen (15-10-2026)LCrystal Palace 4 - 0 Lech Poznan (17-09-2026)
32 1899 Hoffenheim 2 0 2 5 -3 L1899 Hoffenheim 2 - 3 Beşiktaş (15-10-2026)LOFI 2 - 0 1899 Hoffenheim (17-09-2026)
33 Plzen 3 0 2 7 -5 LPlzen 1 - 2 Levski Sofia (22-10-2026)LFerencvarosi TC 2 - 1 Plzen (15-10-2026)LPlzen 0 - 3 Union St. Gilloise (17-09-2026)
34 Marseille 3 0 1 6 -5 LSturm Graz 1 - 0 Marseille (22-10-2026)LMarseille 0 - 1 Olympiakos Piraeus (15-10-2026)LBeşiktaş 4 - 1 Marseille (17-09-2026)
35 Celtic 3 0 3 9 -6 LCeltic 1 - 2 Celta Vigo (22-10-2026)LBenfica 4 - 1 Celtic (15-10-2026)LCeltic 1 - 3 Ferencvarosi TC (17-09-2026)
36 Ararat-Armenia 3 0 2 11 -9 LArarat-Armenia 0 - 4 AZ Alkmaar (22-10-2026)LJagiellonia 3 - 1 Ararat-Armenia (15-10-2026)LArarat-Armenia 1 - 4 Sparta Praha (16-09-2026)

Find your next match faster.

Honest match ratings. Find what is worth watching—without the clutter.

Bookmark this page

This page updates as new matches arrive.

Keep these picks handy.

Press Ctrl+D, then confirm in your browser.

Viewed labels stay on this device. We don't receive your reading history.

Keep Futmetrix handy

Honest match ratings. Find what is worth watching—without the clutter.