Back to Football

Stuttgart, Stuttgart · Germany · Bundesliga

League titles
5
last 2007
Major cups
9
last 2025
Top-2 finishes
10
Top-4 finishes
23
WikipediaQ4512

Power-ranking history

Hover a season for its rank and score
Rank (1 = best)1519Score (per-season normalised)0.00.51.069/7079/8089/9099/0009/1019/20

Against expectation

Every German top-flight match this club has played in the Bundesliga, scored against the odds an Elo rating gave it before kick-off. Over 58 seasons from 1963-64 to 2024-25 it has beaten them by +18.6 match points.

VfB Stuttgart: surplus against expectation, 1963-64 to 2024-251963-64: +1.5 league points vs expected (33 on 31.5, 2 for a win) · bar height +0.8 match points1964-65: −4.2 league points vs expected (26 on 30.2, 2 for a win) · bar height −2.1 match points1965-66: −0.4 league points vs expected (32 on 32.4, 2 for a win) · bar height −0.2 match points1966-67: +2.8 league points vs expected (33 on 30.2, 2 for a win) · bar height +1.4 match points1967-68: +1.9 league points vs expected (35 on 33.1, 2 for a win) · bar height +0.9 match points1968-69: +0.6 league points vs expected (36 on 35.4, 2 for a win) · bar height +0.3 match points1969-70: +1.1 league points vs expected (35 on 33.9, 2 for a win) · bar height +0.6 match points1970-71: −3.9 league points vs expected (30 on 33.9, 2 for a win) · bar height −2.0 match points1971-72: +2.1 league points vs expected (35 on 32.9, 2 for a win) · bar height +1.0 match points1972-73: +3.1 league points vs expected (37 on 33.9, 2 for a win) · bar height +1.6 match points1973-74: −3.9 league points vs expected (31 on 34.9, 2 for a win) · bar height −2.0 match points1974-75: −6.2 league points vs expected (24 on 30.2, 2 for a win) · bar height −3.1 match points1977-78: +7.3 league points vs expected (39 on 31.7, 2 for a win) · bar height +3.6 match points1978-79: +11.1 league points vs expected (48 on 36.9, 2 for a win) · bar height +5.6 match points1979-80: +1.3 league points vs expected (41 on 39.7, 2 for a win) · bar height +0.6 match points1980-81: +5.5 league points vs expected (46 on 40.5, 2 for a win) · bar height +2.7 match points1981-82: −5.5 league points vs expected (35 on 40.5, 2 for a win) · bar height −2.8 match points1982-83: +7.7 league points vs expected (48 on 40.3, 2 for a win) · bar height +3.9 match points1983-84: +5.0 league points vs expected (48 on 43.0, 2 for a win) · bar height +2.5 match points1984-85: −9.0 league points vs expected (33 on 42.0, 2 for a win) · bar height −4.5 match points1985-86: +2.2 league points vs expected (41 on 38.8, 2 for a win) · bar height +1.1 match points1986-87: −7.1 league points vs expected (32 on 39.1, 2 for a win) · bar height −3.6 match points1987-88: +2.6 league points vs expected (40 on 37.4, 2 for a win) · bar height +1.3 match points1988-89: +1.8 league points vs expected (39 on 37.2, 2 for a win) · bar height +0.9 match points1989-90: −1.5 league points vs expected (36 on 37.5, 2 for a win) · bar height −0.7 match points1990-91: +3.2 league points vs expected (38 on 34.8, 2 for a win) · bar height +1.6 match points1991-92: +5.6 league points vs expected (45 on 39.4, 2 for a win) · bar height +2.8 match points1992-93: −2.8 league points vs expected (36 on 38.8, 2 for a win) · bar height −1.4 match points1993-94: +0.2 league points vs expected (37 on 36.8, 2 for a win) · bar height +0.1 match points1994-95: −6.1 league points vs expected (30 on 36.1, 2 for a win) · bar height −3.0 match points1995-96: −1.6 league points vs expected (43 on 44.6, 3 for a win) · bar height −0.1 match points1996-97: +11.1 league points vs expected (61 on 49.9, 3 for a win) · bar height +3.1 match points1997-98: −0.2 league points vs expected (52 on 52.2, 3 for a win) · bar height −0.0 match points1998-99: −9.6 league points vs expected (39 on 48.6, 3 for a win) · bar height −2.8 match points1999-00: +3.0 league points vs expected (48 on 45.0, 3 for a win) · bar height +0.4 match points2000-01: −4.8 league points vs expected (38 on 42.9, 3 for a win) · bar height −1.4 match points2001-02: +5.5 league points vs expected (50 on 44.5, 3 for a win) · bar height +2.2 match points2002-03: +9.8 league points vs expected (59 on 49.3, 3 for a win) · bar height +3.1 match points2003-04: +8.6 league points vs expected (64 on 55.4, 3 for a win) · bar height +3.1 match points2004-05: +0.1 league points vs expected (58 on 57.9, 3 for a win) · bar height −0.2 match points2005-06: −10.9 league points vs expected (43 on 53.9, 3 for a win) · bar height −2.3 match points2006-07: +17.5 league points vs expected (70 on 52.5, 3 for a win) · bar height +5.6 match points2007-08: −2.6 league points vs expected (52 on 54.6, 3 for a win) · bar height −1.6 match points2008-09: +10.8 league points vs expected (64 on 53.2, 3 for a win) · bar height +3.3 match points2009-10: +1.2 league points vs expected (55 on 53.8, 3 for a win) · bar height +0.6 match points2010-11: −7.9 league points vs expected (42 on 49.9, 3 for a win) · bar height −3.2 match points2011-12: +3.2 league points vs expected (53 on 49.8, 3 for a win) · bar height +1.0 match points2012-13: −4.5 league points vs expected (43 on 47.5, 3 for a win) · bar height −1.8 match points2013-14: −9.6 league points vs expected (32 on 41.6, 3 for a win) · bar height −3.3 match points2014-15: −1.5 league points vs expected (36 on 37.5, 3 for a win) · bar height −0.4 match points2015-16: −4.3 league points vs expected (33 on 37.3, 3 for a win) · bar height −1.8 match points2017-18: +13.8 league points vs expected (51 on 37.1, 3 for a win) · bar height +4.3 match points2018-19: −10.1 league points vs expected (28 on 38.1, 3 for a win) · bar height −3.6 match points2020-21: +4.9 league points vs expected (45 on 40.1, 3 for a win) · bar height +1.8 match points2021-22: −5.7 league points vs expected (33 on 38.7, 3 for a win) · bar height −1.3 match points2022-23: −4.0 league points vs expected (33 on 37.0, 3 for a win) · bar height −0.7 match points2023-24: +26.1 league points vs expected (73 on 46.9, 3 for a win) · bar height +8.0 match points2024-25: −4.1 league points vs expected (50 on 54.1, 3 for a win) · bar height −1.4 match points
1963-64one bar per season · height in match points · hover for that season2024-25
Best season against expectation
2023-24 +26.1 league pts
73 points on 46.9 expected as VfB Stuttgart
Worst season against expectation
2005-06 10.9 league pts
43 points on 53.9 expected as VfB Stuttgart

Season points use that season’s own scoring, two for a win before 1995-96 and three from it; the bars use match points so the whole series is comparable.

1991-92 table not final: source truncated on 1992-04-25, last 4 matchdays absent, 340 of 380.

Stuttgart against expectation →How this is measured →

What the squad was worth

Total market value of the squad, EUR millions, by month; the player count beside it is the size of the priced squad.

How this is measured

Drawn as a step, not a curve: Transfermarkt reprices every squad in December and June (marked with a small tick on the axis) and revalues continuously between, so the line only moves when a real valuation changed, never by interpolation.

A month renders no value at all once the priced squad falls below 15 players, so a thin squad is never shown as a cheap one. The series is floored at July 2012on purpose: earlier Transfermarkt totals reflect which players happened to be priced yet rather than the squad’s real worth, and are excluded rather than shown misleadingly low.

Upstream (dcaribou/transfermarkt-datasets) has been paused since July 2026, so the series ends where the source ends rather than where the season does.

Player valuations from Transfermarkt via github.com/dcaribou/transfermarkt-datasets (CC0).

What the squad was worth€404m
VfB Stuttgart: squad value by month, 2012-07 to 2026-06021843612-1314-1516-1718-1920-2122-2324-25
Peak
€404m in May 2026 · 30 players valued
Most recent
€404m in Jun 2026 · 30 players valued

Stuttgarton the rankings →

The money ledger

Fees paid and received each season, and what the squad was worth once the trading is netted out.

How this is measured

Spent is the fees paid for players arriving, received the fees for players leaving, both in EUR millions by the July-to-June season of the move. A move with no fee on record (a free, a loan, an undisclosed sum) is counted, never priced: the small figure beside each total is the moves with a fee, plus those without (so 4+3 is four priced arrivals and three unpriced), and a quiet window is not mistaken for a cheap one. Wages are not here: they are estimates nobody licenses, and fees are documented.

Appreciationis the season’s change in squad value with the net spend taken out: buy 100m of players and finish 100m higher is zero; finish 120m higher and the club made 20m of players better, or the market repriced them. It needs a priced squad at both ends of the season (the same 15-player floor as the value chart), so it is blank rather than guessed for a season that lacks one.

The source has been paused since 6 July 2026, so the final row holds only the opening days of its window.

Transfer fees and player valuations from Transfermarkt via github.com/dcaribou/transfermarkt-datasets (CC0).

The money ledger+€164m
Spent
€330m
68 arrivals with a fee
Received
€494m
53 departures with a fee
Net
+€164m
205 moves with no fee
Appreciation
+€485m
14 seasons with a priced squad

Grown or bought: in 2026-27, trading −€15m and appreciation . Over the last 5 seasons (2022-232026-27), trading +€96m and appreciation unpriced.

The director’s ledger: 80 arrivals graded since 2022-23, 86% EV-positive. €200m deployed for a 2.2× multiplier.

2026-27 spent €15m received to 6 July 2026
in: Bilal El Khannouss €15m
unpriced
2025-26 spent €57m received €116m
in: Badredine Bouanani €15m
+€120m
squad gain
2024-25 spent €92m received €78m
in: Deniz Undav €27m
+€26m
squad gain
2023-24 spent €20m received €50m
in: Serhou Guirassy €9m
+€210m
squad gain
2022-23 spent €15m received €53m
in: Josha Vagnoman €5m
−€7m
squad gain
2021-22 spent €17m received €43m
in: Florian Müller €5m
+€3m
squad gain
2020-21 spent €14m received €4m
in: Gregor Kobel €7m
+€111m
squad gain
2019-20 spent €18m received €75m
in: Silas €8m
−€12m
squad gain
Show all 15 seasons
2018-19 spent €40m received €2m
in: Nico González €11m
−€42m
squad gain
2017-18 spent €17m received €3m
in: Santiago Ascacíbar €6m
+€57m
squad gain
2016-17 spent €11m received €52m
in: Benjamin Pavard €5m
+€42m
squad gain
2015-16 spent €4m received €16m
in: Joshua Kimmich €2m
+€4m
squad gain
2014-15 spent €6m received €1m
in: Filip Kostić €6m
−€7m
squad gain
2013-14 spent €2m received €2m
in: Gotoku Sakai €1m
+€7m
squad gain
2012-13 spent €2m received
in: Alexandru Maxim €2m
−€26m
squad gain

Money against football

Every priced club-season in the six leagues: points against expectation across, squad value gained beyond the net spend up. This club’s seasons are joined.

Tap or drag on the plot: the nearest club-season, its points and its money.

the frontier: no other club-season beat it on both axes · this club, season by season, the largest dot the latest

Every club’s return on the transfer window →

Greatest games

VfB Stuttgart's top matches by the club Game Score: closeness, stakes, quality and upset over one unified rating of league and European play.All-time board.

#DateStageResultScore
11984-05-26BundesligaHL 0-1 v Hamburger SVgame score 82.0
21984-05-19BundesligaAW 2-1 v Werder Bremengame score 80.3
31986-04-26BundesligaHW 2-1 v Werder Bremengame score 76.7
41989-05-17UEFA Cup · Finals · 2nd leg, agg 4-5HD 3-3 v SSC Napoligame score 76.0
51980-12-10UEFA Cup · Third Round · 2nd leg, agg 4-5AL 1-4 v 1. FC Kölngame score 75.0
62007-05-26DFB-Pokal · FinalNL 2-3 v 1. FC Nürnberggame score 73.8
71989-05-03UEFA Cup · Finals · 1st legAL 1-2 v SSC Napoligame score 73.1
81980-04-22UEFA Cup · Semifinals · 2nd leg, agg 2-3AL 0-2 v Borussia Mönchengladbachgame score 72.2
91980-04-09UEFA Cup · Semifinals · 1st legHW 2-1 v Borussia Mönchengladbachgame score 72.0
102009-05-23BundesligaAL 1-2 v Bayern Munichgame score 71.4

Footprint

Tiers played
L1
Top-flight (L1) seasons
59
Pre-Bundesliga national playoff appearances
9
First season
1935
Most recent season
2026

The Heartbreak Index7.9 · #269

The Tortured · League title, 2007

7.9
Heartbreak
#269
of 1,139 clubs
#165
in Football
7.9
agony
The clocks
  • League title since 20070.4
  • Major trophy since 20250.1
Heaviest wounds

league runner-up, 2024 · relegated from the top flight, 2016 · relegated from the top flight, 2019 · lost the national cup final, 2026

One formula, every club the site covers. See the whole board →

Season-by-season

Most recent season first. Covers Bundesliga only. Rows tagged "national playoff" are pre-modern formats where the workbook records only playoff participants, not round-robin standings.

2027
Bundesliga (1) · P14● live
3 P · 1-0-2 · 6:8 · -2
3
pts
2026
Bundesliga (1) · P4
34 P · 18-8-8 · 71:49 · +22
62
pts
PokalELCL
2025
Bundesliga (1) · P9
34 P · 14-8-12 · 64:53 · +11
50
pts
PokalCLEL
2024
Bundesliga (1) · P2
34 P · 23-4-7 · 78:39 · +39
73
pts
CL
2023
Bundesliga (1) · P16PO
34 P · 7-12-15 · 45:57 · -12
33
pts
2022
Bundesliga (1) · P15
34 P · 7-12-15 · 41:59 · -18
33
pts
2021
Bundesliga (1) · P9
34 P · 12-9-13 · 56:55 · +1
45
pts
2019
Bundesliga (1) · P16
34 P · 7-7-20 · 32:70 · -38
28
pts
2018
Bundesliga (1) · P7
34 P · 15-6-13 · 36:36 · 0
51
pts
2016
Bundesliga (1) · P17
34 P · 9-6-19 · 50:75 · -25
33
pts
2015
Bundesliga (1) · P14
34 P · 9-9-16 · 42:60 · -18
36
pts
2014
Bundesliga (1) · P15
34 P · 8-8-18 · 49:62 · -13
32
pts
EL
Show all 69 seasons
2013
Bundesliga (1) · P12
34 P · 12-7-15 · 37:55 · -18
43
pts
PokalELEL
2012
Bundesliga (1) · P6
34 P · 15-8-11 · 63:46 · +17
53
pts
EL
2011
Bundesliga (1) · P12
34 P · 12-6-16 · 60:59 · +1
42
pts
EL
2010
Bundesliga (1) · P6
34 P · 15-10-9 · 51:41 · +10
55
pts
CLEL
2009
Bundesliga (1) · P3
34 P · 19-7-8 · 63:43 · +20
64
pts
UCCL
2008
Bundesliga (1) · P6
34 P · 16-4-14 · 57:57 · 0
52
pts
CLUC
2007
Bundesliga (1) · P1
34 P · 21-7-6 · 61:37 · +24
70
pts
PokalCL
2006
Bundesliga (1) · P9
34 P · 9-16-9 · 37:40 · -3
43
pts
UC
2005
Bundesliga (1) · P4
34 P · 17-7-10 · 54:40 · +14
58
pts
Lg CupUCUC
2004
Bundesliga (1) · P4
34 P · 18-10-6 · 52:24 · +28
64
pts
CLUC
2003
Bundesliga (1) · P2
34 P · 17-8-9 · 53:39 · +14
59
pts
UCCL
2002
Bundesliga (1) · P9
34 P · 13-11-10 · 47:43 · +4
50
pts
UC
2001
Bundesliga (1) · P15
34 P · 9-11-14 · 42:49 · -7
38
pts
UC
2000
Bundesliga (1) · P8
34 P · 14-6-14 · 44:47 · -3
48
pts
UC
1999
Bundesliga (1) · P12
34 P · 9-12-13 · 41:48 · -7
39
pts
UC
1998
Bundesliga (1) · P4
34 P · 14-10-10 · 55:49 · +6
52
pts
Lg CupCWCUC
1997
Bundesliga (1) · P4
34 P · 18-7-9 · 78:40 · +38
61
pts
PokalLg CupCWC
1996
Bundesliga (1) · P10
34 P · 10-13-11 · 59:62 · -3
43
pts
1995
Bundesliga (1) · P12
34 P · 10-10-14 · 52:66 · -14
30
pts
1994
Bundesliga (1) · P7
34 P · 13-11-10 · 51:43 · +8
37
pts
1993
Bundesliga (1) · P7
34 P · 12-12-10 · 56:50 · +6
36
pts
CL
1992
Bundesliga (1) · P1
38 P · 21-10-7 · 62:32 · +30
52
pts
UCCL
1991
Bundesliga (1) · P6
34 P · 14-10-10 · 57:44 · +13
38
pts
UC
1990
Bundesliga (1) · P6
34 P · 15-6-13 · 53:47 · +6
36
pts
UC
1989
Bundesliga (1) · P5
34 P · 16-7-11 · 58:49 · +9
39
pts
UCUC
1988
Bundesliga (1) · P4
34 P · 16-8-10 · 69:49 · +20
40
pts
UC
1987
Bundesliga (1) · P12
34 P · 13-6-15 · 55:49 · +6
32
pts
CWC
1986
Bundesliga (1) · P5
34 P · 17-7-10 · 69:45 · +24
41
pts
PokalCWC
1985
Bundesliga (1) · P10
34 P · 14-5-15 · 79:59 · +20
33
pts
EC
1984
Bundesliga (1) · P1
34 P · 19-10-5 · 79:33 · +46
48
pts
UCEC
1983
Bundesliga (1) · P3
34 P · 20-8-6 · 80:47 · +33
48
pts
UC
1982
Bundesliga (1) · P9
34 P · 13-9-12 · 62:55 · +7
35
pts
UC
1981
Bundesliga (1) · P3
34 P · 19-8-7 · 70:44 · +26
46
pts
UCUC
1980
Bundesliga (1) · P3
34 P · 18-5-11 · 75:53 · +22
41
pts
UCUC
1979
Bundesliga (1) · P2
34 P · 20-8-6 · 73:34 · +39
48
pts
UCUC
1978
Bundesliga (1) · P4
34 P · 17-5-12 · 58:40 · +18
39
pts
UC
1975
Bundesliga (1) · P16
34 P · 8-8-18 · 50:79 · -29
24
pts
1974
Bundesliga (1) · P9
34 P · 12-7-15 · 58:57 · +1
31
pts
UC
1973
Bundesliga (1) · P6
34 P · 17-3-14 · 71:65 · +6
37
pts
UC
1972
Bundesliga (1) · P8
34 P · 13-9-12 · 52:56 · -4
35
pts
1971
Bundesliga (1) · P12
34 P · 11-8-15 · 49:49 · 0
30
pts
1970
Bundesliga (1) · P7
34 P · 14-7-13 · 59:62 · -3
35
pts
ICFC
1969
Bundesliga (1) · P5
34 P · 14-8-12 · 60:54 · +6
36
pts
ICFC
1968
Bundesliga (1) · P8
34 P · 14-7-13 · 65:54 · +11
35
pts
1967
Bundesliga (1) · P12
34 P · 10-13-11 · 48:54 · -6
33
pts
ICFC
1966
Bundesliga (1) · P11
34 P · 13-6-15 · 42:48 · -6
32
pts
ICFC
1965
Bundesliga (1) · P12
30 P · 9-8-13 · 46:50 · -4
26
pts
ICFC
1964
Bundesliga (1) · P5
30 P · 13-7-10 · 48:40 · +8
33
pts
ICFC
1956
Deutsche Fußballmeisterschaft (1)
national playoff · knockout format, no match data
1954
Deutsche Fußballmeisterschaft (1)
national playoff · knockout format, no match data
Pokal
1953
Deutsche Fußballmeisterschaft (1)
national playoff · knockout format, no match data
1952
Deutsche Fußballmeisterschaft (1)
national playoff · knockout format, no match data
1950
Deutsche Fußballmeisterschaft (1)
national playoff · knockout format, no match data
1943
Deutsche Fußballmeisterschaft (1)
national playoff · knockout format, no match data
1938
Deutsche Fußballmeisterschaft (1)
national playoff · knockout format, no match data
1937
Deutsche Fußballmeisterschaft (1)
national playoff · knockout format, no match data
1935
Deutsche Fußballmeisterschaft (1)
national playoff · knockout format, no match data
Domestic Cup Finals

Most recent first. Every domestic cup final the club has played, including losses. Scheduled finals (date not yet passed) are flagged.

2026
DFB-Pokal
Runner-up
2025
DFB-Pokal
Won
2025
DFL-Supercup
Runner-up
2024
DFL-Supercup
Runner-up
2013
DFB-Pokal
Runner-up
2007
DFB-Pokal
Runner-up
2005
DFB-Ligapokal
Runner-up
1998
DFB-Ligapokal
Runner-up
1997
DFB-Pokal
Won
1997
DFB-Ligapokal
Runner-up
1992
DFL-Supercup
Won
1986
DFB-Pokal
Runner-up
Show all 14 rows
1958
DFB-Pokal
Won
1954
DFB-Pokal
Won
European competition appearances

Most recent first. One row per entry showing the deepest round reached. A Cup Winner badge marks tournaments the club won: gold for the European Cup / Champions League, silver for every other UEFA or Intercontinental trophy.

2025-26
Europa League(EL)
Round of 16
2024-25
Champions League(CL)
Round of 32 / qualifying
2013-14
Europa League(EL)
Qualifying
2012-13
Europa League(EL)
Round of 16
2010-11
Europa League(EL)
Group stage
2009-10
Champions League(CL)
Round of 16
2008-09
UEFA Cup(UC)
Group stage
2007-08
Champions League(CL)
Group stage
2005-06
UEFA Cup(UC)
Group stage
2004-05
UEFA Cup(UC)
Group stage
2003-04
Champions League(CL)
Round of 16
2002-03
UEFA Cup(UC)
Round of 16
Show all 30 rows
2000-01
UEFA Cup(UC)
Round of 16
1998-99
UEFA Cup(UC)
Group stage
1997-98
Cup Winners Cup(CWC)
Final
1992-93
Champions League(CL)
Round of 16
1991-92
UEFA Cup(UC)
Group stage
1989-90
UEFA Cup(UC)
Round of 16
1988-89
UEFA Cup(UC)
Final
1986-87
Cup Winners Cup(CWC)
Round of 16
1984-85
European Cup(EC)
Group stage
1983-84
UEFA Cup(UC)
Round of 32 / qualifying
1981-82
UEFA Cup(UC)
Round of 32 / qualifying
1980-81
UEFA Cup(UC)
Round of 16
1979-80
UEFA Cup(UC)
Semi-final
1978-79
UEFA Cup(UC)
Round of 16
1973-74
UEFA Cup(UC)
Semi-final
1969-70
Inter-Cities Fairs Cup(ICFC)
Group stage
1966-67
Inter-Cities Fairs Cup(ICFC)
Round of 32 / qualifying
1964-65
Inter-Cities Fairs Cup(ICFC)
Group stage