Match North Logo

Dortmund’s Rollercoaster Season: Key Players and Performances

This was a Dortmund season that never quite settled. Peaks, slumps, redemption arcs and abrupt exits – all of it framed by a squad whose spine was often excellent, but rarely aligned at the same time. Player by player, the picture sharpens.

Kobel: the man who kept it all standing

In goal, Gregor Kobel was the constant in a team that often wasn’t.

Across 47 competitive matches he played a staggering 4,260 minutes, conceded 57 goals and still managed 18 clean sheets. The numbers only tell part of the story. Time and again, the Swiss keeper dragged Dortmund through tight games with spectacular saves, most memorably as the hero in the penalty shoot-out of the cup tie in Frankfurt.

He was reliable, commanding, and, for long spells, the main reason BVB didn’t unravel. His one glaring mistake – an unnecessary pass in the Freiburg match that indirectly led to Jobe Bellingham’s red card – stands out only because there was so little else to criticise.

Rating: 2.

Centre-backs: Anton rises, Schlotterbeck wobbles, youngsters learn

Nico Schlotterbeck’s season never truly found its rhythm. He returned in September after months out injured and initially looked sharp. Then the drop-off came. His form fluctuated, and he was directly involved in several goals conceded. The ongoing uncertainty over his future clearly weighed on him.

And yet, amid the defensive lapses, he delivered his best-ever goal return: five goals and two assists in 37 matches (3,290 minutes). Reasonable, but far from his ceiling.

Rating: 3.

Waldemar Anton, by contrast, became the defensive reference point Schlotterbeck was supposed to be. The former Stuttgart man racked up 3,927 minutes in 44 matches, the second-most in the squad, and barely put a foot wrong. Relentless in the tackle, fully switched on, and uncompromising in duels, he emerged as Dortmund’s true defensive linchpin.

Three goals, no assists – but his value lay in everything he stopped rather than everything he created.

Rating: 2.

Behind them, two young defenders lived very different stories.

Chelsea loanee Aaron Anselmino arrived rusty and short of match practice, then made an eye-catching debut before injury stalled his momentum. Once fit, he impressed in every outing: aggressive yet intelligent in the tackle, remarkably calm on the ball. Ten matches, 585 minutes, one goal and one assist – and then he was gone, recalled abruptly in winter when Chelsea triggered a buy-back clause. A promising chapter cut short.

Rating: 2.5.

Italian youngster Reggiani slipped into the side due to injuries, took his chance, and grew into the role. He scored in his fourth Bundesliga match, earned his first professional contract and operated as the right-sided defender in a back three. He often played it safe and occasionally needed clear guidance from Anton, but that’s to be expected at his age.

Nine games, 603 minutes, one goal, no assists – a decent first step.

Rating: 3.5.

For another 20-year-old defender, the step came too soon. He made his professional debut in the cup win at Essen and did well, then five days later made his Bundesliga bow, conceded a late penalty and was sent off. From there, his season unravelled: Reggiani overtook him, and he was sent back to the U23s. Six appearances, 311 minutes, no rating – just a harsh lesson.

Full-backs and wing-backs: promise, setbacks, and unfulfilled fees

On the left, Ramy Bensebaini quietly pieced together a solid campaign. Once settled after his move, the Algerian’s technical quality shone through, and he sharpened his defensive work. He contributed reliably to Dortmund’s build-up play and, behind the attacking quartet of Guirassy, Brandt, Beier and Adeyemi, was the next-most prolific scorer: seven goals and three assists in 32 matches (2,396 minutes).

Rating: 2.5.

On the opposite flank, the narrative was far more turbulent. One-time “problem child” and €25 million signing Yan Couto showed clear progress in the first half of the season. His defensive duels still lacked bite, but his commitment improved and the glaring errors of the previous year diminished. Three goals and three assists in 27 games (1,501 minutes) underline his attacking value.

Then the winter break came, and with it the rise of Julian Ryerson. Couto lost his place, spent most of his time on the bench, and once again failed to justify that hefty fee.

Rating: 4.5.

Ryerson himself had a mixed year. He covered huge distances, displayed strong tactical discipline and ended up with the third-most minutes in the squad: 3,462 across 45 matches, with four goals and two assists. His problem? He was too quiet going forward, especially in the second half of the season, when 2026 brought more questions than answers.

Rating: 4.

New arrival Jobe Bellingham felt the jump from England’s second tier. Early on he played it safe, looked shaky in defensive situations and often lacked balance. But he grew. Gradually, he secured a regular starting role and was in the XI for 29 of his 45 appearances (2,665 minutes). He finished with four assists and no goals – like Ryerson – but with a clear upward curve.

Rating: 3.5.

Midfield: Nmecha steps up, Sabitzer fades, Özcan disappears

In the centre, one name finally delivered the season Dortmund had been waiting for: Felix Nmecha.

Across 42 appearances and 3,137 minutes, he enjoyed his best campaign at the club. Five goals, three assists, and – more importantly – a level of control and authority that often set the tone. His dominance on the ball, his ability to accelerate play and his vision gave Dortmund’s midfield structure. When injury sidelined him, his absence was felt immediately.

Rating: 2.

The captain, Emre Can, never got going. A lengthy spell out at the start of the season disrupted his rhythm, and once back, his form fluctuated wildly. Sixteen games, 980 minutes, three goals, no assists – then a cruciate ligament tear shut his season down early.

Rating: 3.5.

Marcel Sabitzer’s year was even more underwhelming. After a poor pre-season, he briefly found his groove, only to drift out of games again. At 32, with his experience and quality, more is expected than one goal and four assists in 34 appearances (2,347 minutes). Too often, he simply disappeared from the action.

Rating: 4.5.

Salih Özcan’s Dortmund chapter ended with a whimper. Left out of the Champions League squad, a summer transfer collapsed due to injury, and despite coach Niko Kovac promising more minutes after the winter break, the midfielder played just 53 minutes in total. Twelve appearances, 74 minutes, no goals, no assists, no rating – and a free transfer exit.

Creative line: Brandt’s output, Chukwuemeka’s fitness, Lallana’s frustration

Julian Brandt quietly put together a highly productive season in front of goal. Eleven goals and four assists in 41 matches (2,203 minutes) is a strong return, second only to Guirassy in goals. Fifteen goal contributions from just 24 starts underline his efficiency.

Yet the lingering frustration remains: in his seventh season at the club, the consistent, top-level form expected of him still didn’t fully materialise. Too many off-days, even if the raw numbers are impressive. With BVB choosing not to extend his contract, they now face the challenge of replacing that output.

Rating: 2.5.

Carney Chukwuemeka’s year was defined by one issue: fitness. The talent is obvious, the price tag hefty, but the impact limited. He averaged just 32 minutes per appearance, starting only ten of his 38 matches. It took until mid-April at Hoffenheim for him to complete 90 minutes in a professional game for the first time.

Three goals, two assists in 1,225 minutes hint at what he can do. But until he builds proper physical stamina, it will remain just that – a hint.

Rating: 4.5.

Veteran Adam Lallana endured a deeply frustrating six months. Despite ranking second among Dortmund’s outfielders with 15 assists in the 2024/25 campaign, he spent most of this season’s first half on the bench. Sixteen appearances, 732 minutes, zero goals and only two assists tell the story. When he did start – just eight times – he failed to convince. By winter, both sides had had enough, and he returned to Brighton.

Rating: 4.5.

Forwards: Guirassy’s drought, Beier’s surge, Adeyemi’s slump, a work-in-progress No. 9

Up front, the numbers look impressive at first glance. The story behind them is more complicated.

Serhou Guirassy followed a 43-goal-contribution season (43 in 45) with 28 in 46 this time: 22 goals, six assists in 3,222 minutes. He scored twice as many league goals as Dortmund’s next-best marksman, Brandt. On paper, that’s elite.

But the season was scarred by an epic drought – just one goal in 13 Bundesliga matches – and by flashpoints that damaged his standing: a penalty dispute in Turin, refusing to shake hands with Kovac, visible frustration and poor body language. A prolific striker, yet also a riddle the club still has to solve.

Rating: 2.5.

Maximilian Beier, on the other hand, lit up the second half of the campaign. Six goals and seven assists, ten goals and ten assists overall in 44 matches (2,736 minutes), often from roles that didn’t fully suit him. He was rarely used in his preferred positions – either in a front two or as a deeper central forward – and was instead frequently pushed out to the left of midfield.

It didn’t matter. His influence grew, his productivity soared, and he has almost certainly played himself into contention for Germany’s World Cup squad. Now comes the hard part: sustaining that level.

Rating: 2.5.

Karim Adeyemi’s season split in two. Before the turn of the year, he was electric, involved in nine goals and finally looking like the player Dortmund had been waiting for. After that, his form collapsed. Injuries restricted him to six starts in 2026, and his disciplinary issues on and off the pitch earlier in the campaign only darkened the mood.

Even so, he finished with ten goals and six assists in 39 games (1,836 minutes), joint third-top scorer alongside Beier. For a player of his talent, and with a World Cup looming, the second-half slump was a major disappointment.

Rating: 4.

The new striker – used mostly as an impact option – arrived injured and spent much of the year playing catch-up. His cameos were full of energy and running, suggesting he could become a valuable squad piece. Yet when he did start, the cutting edge deserted him. Three goals and seven assists in 39 games (1,181 minutes) is respectable, but a long league goal drought highlighted the work still to be done.

Rating: 3.5.

Behind them, an 18-year-old Italian playmaker, Inacio, offered a tantalising glimpse of the future. “He sees things that others don't see even at 30,” said Kovac. Seven appearances, 383 minutes, one goal, no assists – and a constant threat between the lines. His movement, work off the ball and knack for finding dangerous pockets already stand out. With a little more precision, he might easily have finished with three or four goals.

No rating, but all the signs point upwards.

The rest of the cast

Some names barely touched the grass but still filled the bench. Nine players – reserve goalkeepers Alexander Meyer, Patrick Drewes and Silas Ostrzinski; defenders Yannik Lührs, Danylo Krevsun and Elias Benkara; midfielders Julien Duranville, Giovanni Reyna and Mussa Kaba – were in matchday squads without playing a single minute.

Cole Campbell (16 minutes), Almugera Kabar (14) and Mathis Albert (2) tasted only the briefest moments of first-team football.

Kobel’s saves, Anton’s steel, Nmecha’s control, Guirassy’s streaks, Beier’s rise: the core is there. The question now is simple and unforgiving – can Dortmund turn these scattered individual stories into a coherent, relentless team before the next season, and before the World Cup spotlight exposes every remaining flaw?

Dortmund’s Rollercoaster Season: Key Players and Performances