Bundesliga Regular Season - 28

VfB Stuttgart 0 - 2 FT Borussia Dortmund

MHP Arena

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

Futmetrix Verdict
63
FT
Sat, Apr 4
Deutsch
VfB Stuttgart
0-2
Borussia Dortmund
⚡ Intensity 48
⚖️ Balance 13
🏆 Stakes 89
🎲 Upset 31
Late Dortmund double stuns dominant Stuttgart.

Stoppage-Time Smash-and-Grab Stuns the MHPArena

Worth Watching Futmetrix Score: 63/100. A tactical paradox where absolute territorial control was undone by ruthless, late-game counter-punching in a crucial top-four battle.

The Swabian Siege

The MHPArena played host to what felt like a relentless attacking siege for the vast majority of the afternoon. Dictating the tempo with absolute authority, VfB Stuttgart completely dominated possession, suffocating the visitors with a commanding 67 percent share of the ball. The hosts strung together over 600 passes, creating a shooting gallery that yielded a 12-4 advantage in attempts. Despite this suffocating pressure, the home side lacked the clinical edge required to translate territorial dominance into a tangible advantage. The sheer Intensity of their press pinned the visitors deep into their own half, forcing a stubborn defensive display. Yet, for all their aesthetic brilliance and control in the middle third, Stuttgart repeatedly found themselves running down blind alleys as the final whistle slowly approached.

The 90th-Minute Sucker Punch

Football is a game of fine margins, and this fixture served as a brutal reminder of that age-old truth. The Balance of power shifted dramatically as the clock ticked into stoppage time. Recognizing the need for a different dimension, the visitors had introduced K. Adeyemi in the 64th minute. That substitution proved to be a masterstroke. Just as the hosts were committing bodies forward in search of a deserved breakthrough, Adeyemi shattered their illusions in the 90th minute. His crucial strike against the run of play delivered a massive Upset Factor, completely silencing the home crowd. It was the classic away performance—absorb the pressure, wait for the legs to tire, and strike with lethal precision when the opponent least expects it.

The Knockout Blow

Before the home side could even process the heartbreak of falling behind, the visitors twisted the knife. Pushing up in sheer desperation, Stuttgart left massive gaps at the back, allowing J. Brandt to double the lead in the 96th minute, finishing off a clinical sequence orchestrated by F. Silva. This 0-2 victory for Borussia Dortmund carries massive Stakes in the race for Champions League football. Snatching all three points on the road not only solidifies their grip on second place but also creates a significant buffer over the chasing pack. For Stuttgart, it is a bitter pill to swallow—a match where they did everything right between the boxes, only to be undone by a devastating lesson in ruthless efficiency.

Key Questions

How dramatic was the late winner by K. Adeyemi?

Incredibly dramatic. Arriving in the 90th minute, it completely shattered Stuttgart's illusions after they had comfortably dictated the tempo and controlled the vast majority of the match.

What does this mean for VfB Stuttgart's season?

They remain firmly in the Champions League qualification zone, though this frustrating defeat prevents them from closing the gap on second-placed Dortmund.

How did substitute K. Adeyemi change the game?

Introduced in the 64th minute, his fresh legs and direct running provided the ultimate sucker punch, breaking a stubborn deadlock entirely against the run of play.

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
67%
33%
VfB Stuttgart 67%
Borussia Dortmund 33%
Shots
12
4
VfB Stuttgart 12
Borussia Dortmund 4
Shots on Target
3
2
VfB Stuttgart 3
Borussia Dortmund 2
Expected Goals (xG)
0.55
0.14
VfB Stuttgart 0.55
Borussia Dortmund 0.14
Passes
608
300
VfB Stuttgart 608
Borussia Dortmund 300
Pass Accuracy
84%
70%
VfB Stuttgart 84%
Borussia Dortmund 70%
Corners
5
2
VfB Stuttgart 5
Borussia Dortmund 2
Fouls
10
12
VfB Stuttgart 10
Borussia Dortmund 12
Yellow Cards
1
3
VfB Stuttgart 1
Borussia Dortmund 3
Red Cards
0
0
VfB Stuttgart 0
Borussia Dortmund 0

Match Events

C. Chukwuemeka 🟨 29'
HT
C. Chukwuemeka K. Adeyemi 🔄 64'
S. Guirassy F. Silva 🔄 64'
65' 🟨 R. Hendriks
69' 🔄 C. Fuhrich J. Leweling
M. Sabitzer 🟨 71'
M. Beier J. Brandt 🔄 72'
72' 🔄 L. Assignon T. Tomas
72' 🔄 N. Nartey B. El Khannouss
K. Adeyemi 🟨 80'
88' 🔄 M. Mittelstadt E. Demirovic
88' 🔄 A. Stiller C. Andres
K. Adeyemi 90'+4
J. Brandt (F. Silva) 90'+6
J. Ryerson 🟨 90'+7
90'+7 🟨 A. Karazor
FT

Player Cards

Our take on every player in this match

VfB Stuttgart

Goalkeepers
Alexander Nübel
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
94
Total Mins
Started
Entry
Defenders
Finn Jeltsch
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
94
Total Mins
Started
Entry
Jeff Chabot
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
94
Total Mins
Started
Entry
Ramon Hendriks
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
94
Total Mins
Started
Entry
Midfielders
Lorenz Assignon
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
72
Total Mins
72
Entry
Atakan Karazor
MAGNET
MAGNET
83
Activity
83
Activity
73
Passes
10
Duels
Angelo Stiller
MAGNET
MAGNET
109
Activity
109
Activity
100
Passes
9
Duels
Maximilian Mittelstädt
MAGNET
MAGNET
70
Activity
70
Activity
64
Passes
6
Duels
Forwards
Nikolas Nartey
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
72
Total Mins
72
Entry
Chris Führich
STORMTROOPER
STORMTROOPER
3
Shots
3
Shots
0
Goals
1
On Target
Deniz Undav
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
94
Total Mins
Started
Entry
BENCH
Fabian Bredlow
SPECTATOR
SPECTATOR
0
Saves
0
Saves
0
Conceded
0
Minutes
Luca Jaquez
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
0
Total Mins
Started
Entry
Ameen Al-Dakhil
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
0
Total Mins
Started
Entry
Josha Vagnoman
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
0
Total Mins
Started
Entry
Bilal El Khannouss
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
22
Total Mins
Started
Entry
Chema Andrés
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
6
Total Mins
Started
Entry
Ermedin Demirović
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
6
Total Mins
Started
Entry
Jamie Leweling
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
25
Total Mins
Started
Entry
Tiago Tomás
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
22
Total Mins
Started
Entry

Borussia Dortmund

Goalkeepers
Gregor Kobel
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
94
Total Mins
Started
Entry
Defenders
Waldemar Anton
WALL
WALL
0
Dribbled Past
0
Dribbled Past
3
Tackles
50%
Duel Win %
Nico Schlotterbeck
PROVOCATEUR
PROVOCATEUR
3
Fouls Won
3
Fouls Won
5
Duels Won
0
Pens Won
Ramy Bensebaini
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
94
Total Mins
Started
Entry
Midfielders
Julian Ryerson
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
94
Total Mins
Started
Entry
Marcel Sabitzer
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
94
Total Mins
Started
Entry
Jobe Bellingham
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
94
Total Mins
Started
Entry
Carney Chukwuemeka
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
64
Total Mins
64
Entry
Daniel Svensson
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
94
Total Mins
Started
Entry
Forwards
Serhou Guirassy
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
64
Total Mins
64
Entry
Maximilian Beier
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
72
Total Mins
72
Entry
BENCH
Alexander Meyer
SPECTATOR
SPECTATOR
0
Saves
0
Saves
0
Conceded
0
Minutes
Yan Couto
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
0
Total Mins
Started
Entry
Niklas Süle
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
0
Total Mins
Started
Entry
Luca Reggiani
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
0
Total Mins
Started
Entry
Julian Brandt
CLUTCH HERO
CLUTCH HERO
90
Goal Time
90
Goal Time
Goal
Impact
6.3
Rating
Salih Özcan
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
0
Total Mins
Started
Entry
Karim Adeyemi
CLUTCH HERO
CLUTCH HERO
90
Goal Time
90
Goal Time
Goal
Impact
7.2
Rating
Samuele Inacio
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
0
Total Mins
Started
Entry
Fábio Silva
SUPER SUB
SUPER SUB
1
Assist
1
Assist
30
Minutes
6.5
Rating

Head to Head

Date Home Score Away Competition Venue
11/22/2025 Borussia Dortmund 3 - 3 VfB Stuttgart Bundesliga Signal Iduna Park
02/08/2025 Borussia Dortmund 1 - 2 VfB Stuttgart Bundesliga SIGNAL IDUNA PARK
09/22/2024 VfB Stuttgart 5 - 1 Borussia Dortmund Bundesliga MHPArena
04/06/2024 Borussia Dortmund 0 - 1 VfB Stuttgart Bundesliga BVB Stadion Dortmund
12/06/2023 VfB Stuttgart 2 - 0 Borussia Dortmund DFB Pokal MHP Arena
11/11/2023 VfB Stuttgart 2 - 1 Borussia Dortmund Bundesliga Stuttgart Arena
11/22/2025
Bundesliga Signal Iduna Park
02/08/2025
Bundesliga SIGNAL IDUNA PARK
09/22/2024
Bundesliga MHPArena
04/06/2024
Bundesliga BVB Stadion Dortmund
12/06/2023
DFB Pokal MHP Arena
11/11/2023
Bundesliga Stuttgart Arena
VfB Stuttgart Win
Borussia Dortmund Win
Draw

League Standings

Pos Team P Pts GF GA GD Form
1 Bayern München 28 73 100 27 +73 WSC Freiburg 2 - 3 Bayern München (04-04-2026)WBayern München 4 - 0 Union Berlin (21-03-2026)DBayer Leverkusen 1 - 1 Bayern München (14-03-2026)WBayern München 4 - 1 Borussia Mönchengladbach (06-03-2026)WBorussia Dortmund 2 - 3 Bayern München (28-02-2026)
2 Borussia Dortmund 28 64 60 28 +32 WVfB Stuttgart 0 - 2 Borussia Dortmund (04-04-2026)WBorussia Dortmund 3 - 2 Hamburger SV (21-03-2026)WBorussia Dortmund 2 - 0 FC Augsburg (14-03-2026)W1. FC Köln 1 - 2 Borussia Dortmund (07-03-2026)LBorussia Dortmund 2 - 3 Bayern München (28-02-2026)
3 RB Leipzig 28 53 55 36 +19 WWerder Bremen 1 - 2 RB Leipzig (04-04-2026)WRB Leipzig 5 - 0 1899 Hoffenheim (20-03-2026)LVfB Stuttgart 1 - 0 RB Leipzig (15-03-2026)WRB Leipzig 2 - 1 FC Augsburg (07-03-2026)WHamburger SV 1 - 2 RB Leipzig (01-03-2026)
4 VfB Stuttgart 28 53 56 38 +18 LVfB Stuttgart 0 - 2 Borussia Dortmund (04-04-2026)WFC Augsburg 2 - 5 VfB Stuttgart (22-03-2026)WVfB Stuttgart 1 - 0 RB Leipzig (15-03-2026)DFSV Mainz 05 2 - 2 VfB Stuttgart (07-03-2026)WVfB Stuttgart 4 - 0 VfL Wolfsburg (01-03-2026)
5 1899 Hoffenheim 28 50 55 41 +14 L1899 Hoffenheim 1 - 2 FSV Mainz 05 (04-04-2026)LRB Leipzig 5 - 0 1899 Hoffenheim (20-03-2026)D1899 Hoffenheim 1 - 1 VfL Wolfsburg (14-03-2026)W1. FC Heidenheim 2 - 4 1899 Hoffenheim (07-03-2026)L1899 Hoffenheim 0 - 1 FC St. Pauli (28-02-2026)
6 Bayer Leverkusen 28 49 58 39 +19 WBayer Leverkusen 6 - 3 VfL Wolfsburg (04-04-2026)D1. FC Heidenheim 3 - 3 Bayer Leverkusen (21-03-2026)DBayer Leverkusen 1 - 1 Bayern München (14-03-2026)DSC Freiburg 3 - 3 Bayer Leverkusen (07-03-2026)WHamburger SV 0 - 1 Bayer Leverkusen (04-03-2026)
7 Eintracht Frankfurt 28 39 52 53 -1 DEintracht Frankfurt 2 - 2 1. FC Köln (05-04-2026)LFSV Mainz 05 2 - 1 Eintracht Frankfurt (22-03-2026)WEintracht Frankfurt 1 - 0 1. FC Heidenheim (14-03-2026)DFC St. Pauli 0 - 0 Eintracht Frankfurt (08-03-2026)WEintracht Frankfurt 2 - 0 SC Freiburg (01-03-2026)
8 SC Freiburg 28 37 41 47 -6 LSC Freiburg 2 - 3 Bayern München (04-04-2026)WFC St. Pauli 1 - 2 SC Freiburg (22-03-2026)LSC Freiburg 0 - 1 Union Berlin (15-03-2026)DSC Freiburg 3 - 3 Bayer Leverkusen (07-03-2026)LEintracht Frankfurt 2 - 0 SC Freiburg (01-03-2026)
9 FSV Mainz 05 28 33 35 43 -8 W1899 Hoffenheim 1 - 2 FSV Mainz 05 (04-04-2026)WFSV Mainz 05 2 - 1 Eintracht Frankfurt (22-03-2026)WWerder Bremen 0 - 2 FSV Mainz 05 (15-03-2026)DFSV Mainz 05 2 - 2 VfB Stuttgart (07-03-2026)DBayer Leverkusen 1 - 1 FSV Mainz 05 (28-02-2026)
10 Union Berlin 28 32 32 47 -15 DUnion Berlin 1 - 1 FC St. Pauli (05-04-2026)LBayern München 4 - 0 Union Berlin (21-03-2026)WSC Freiburg 0 - 1 Union Berlin (15-03-2026)LUnion Berlin 1 - 4 Werder Bremen (08-03-2026)LBorussia Mönchengladbach 1 - 0 Union Berlin (28-02-2026)
11 FC Augsburg 28 32 34 51 -17 DHamburger SV 1 - 1 FC Augsburg (04-04-2026)LFC Augsburg 2 - 5 VfB Stuttgart (22-03-2026)LBorussia Dortmund 2 - 0 FC Augsburg (14-03-2026)LRB Leipzig 2 - 1 FC Augsburg (07-03-2026)WFC Augsburg 2 - 0 1. FC Köln (27-02-2026)
12 Hamburger SV 28 31 32 41 -9 DHamburger SV 1 - 1 FC Augsburg (04-04-2026)LBorussia Dortmund 3 - 2 Hamburger SV (21-03-2026)DHamburger SV 1 - 1 1. FC Köln (14-03-2026)WVfL Wolfsburg 1 - 2 Hamburger SV (07-03-2026)LHamburger SV 0 - 1 Bayer Leverkusen (04-03-2026)
13 Borussia Mönchengladbach 28 30 35 48 -13 DBorussia Mönchengladbach 2 - 2 1. FC Heidenheim (04-04-2026)D1. FC Köln 3 - 3 Borussia Mönchengladbach (21-03-2026)WBorussia Mönchengladbach 2 - 0 FC St. Pauli (13-03-2026)LBayern München 4 - 1 Borussia Mönchengladbach (06-03-2026)WBorussia Mönchengladbach 1 - 0 Union Berlin (28-02-2026)
14 Werder Bremen 28 28 31 49 -18 LWerder Bremen 1 - 2 RB Leipzig (04-04-2026)WVfL Wolfsburg 0 - 1 Werder Bremen (21-03-2026)LWerder Bremen 0 - 2 FSV Mainz 05 (15-03-2026)WUnion Berlin 1 - 4 Werder Bremen (08-03-2026)WWerder Bremen 2 - 0 1. FC Heidenheim (28-02-2026)
15 1. FC Köln 28 27 40 49 -9 DEintracht Frankfurt 2 - 2 1. FC Köln (05-04-2026)D1. FC Köln 3 - 3 Borussia Mönchengladbach (21-03-2026)DHamburger SV 1 - 1 1. FC Köln (14-03-2026)L1. FC Köln 1 - 2 Borussia Dortmund (07-03-2026)LFC Augsburg 2 - 0 1. FC Köln (27-02-2026)
16 FC St. Pauli 28 25 25 45 -20 DUnion Berlin 1 - 1 FC St. Pauli (05-04-2026)LFC St. Pauli 1 - 2 SC Freiburg (22-03-2026)LBorussia Mönchengladbach 2 - 0 FC St. Pauli (13-03-2026)DFC St. Pauli 0 - 0 Eintracht Frankfurt (08-03-2026)W1899 Hoffenheim 0 - 1 FC St. Pauli (28-02-2026)
17 VfL Wolfsburg 28 21 38 63 -25 LBayer Leverkusen 6 - 3 VfL Wolfsburg (04-04-2026)LVfL Wolfsburg 0 - 1 Werder Bremen (21-03-2026)D1899 Hoffenheim 1 - 1 VfL Wolfsburg (14-03-2026)LVfL Wolfsburg 1 - 2 Hamburger SV (07-03-2026)LVfB Stuttgart 4 - 0 VfL Wolfsburg (01-03-2026)
18 1. FC Heidenheim 28 16 29 63 -34 DBorussia Mönchengladbach 2 - 2 1. FC Heidenheim (04-04-2026)D1. FC Heidenheim 3 - 3 Bayer Leverkusen (21-03-2026)LEintracht Frankfurt 1 - 0 1. FC Heidenheim (14-03-2026)L1. FC Heidenheim 2 - 4 1899 Hoffenheim (07-03-2026)LWerder Bremen 2 - 0 1. FC Heidenheim (28-02-2026)