Borussia Dortmund’s Season Review: Players Performance Analysis
This was a Dortmund season that never quite settled. Spells of control, bursts of brilliance, long stretches of frustration. On the pitch, the story was written by individuals: a goalkeeper at his peak, a new defensive boss, attackers blowing hot and cold, and a clutch of youngsters trying to elbow their way into the picture.
Here is how the squad actually performed – stripped of hype, rooted in the numbers.
Kobel: The Wall with One Costly Slip
Gregor Kobel carried Dortmund through long stretches of the season.
Across 47 competitive matches he faced 57 goals against, yet still produced 18 clean sheets and more minutes than anyone else. He didn’t just keep things tidy; he rescued his team. Time and again he bailed them out with spectacular saves, none more dramatic than his heroics in the penalty shoot-out of the cup tie in Frankfurt.
There was one glaring mistake – an unnecessary pass against Freiburg that led to Jobe Bellingham’s red card. It stood out precisely because his season was so assured. Rating: 2.
Matches: 47 | Minutes: 4,260 | Goals conceded: 57 | Clean sheets: 18
Schlotterbeck: Goals, Doubts and Distraction
Nico Schlotterbeck’s season split in two.
He returned from injury in September looking sharp, strong in the duels, comfortable on the ball. Then his form wobbled. Errors crept in, and he was directly involved in several goals conceded. The uncertainty over his future hung over him and it showed.
Five goals – a personal best – underline his attacking threat, but the defender Dortmund expected to dominate never fully arrived. Reasonable, yes. His ceiling, no. Rating: 3.
Matches: 37 | Minutes: 3,290 | Goals: 5 | Assists: 2
The Norwegian Creator: No Goals, Endless Supply
A forward with zero goals rarely escapes criticism. This one does – at least partly.
The Norwegian failed to score in 42 games, yet still put up 18 assists. Fifteen of those came in the Bundesliga, where only Bayern’s Michael Olise (22) and Luiz Diaz (17) bettered his tally. His work rate was relentless, his fighting spirit obvious.
On European nights, his limitations surfaced more clearly. At the highest level, the lack of a goal threat is harder to hide. Rating: 2.5.
Games: 42 | Minutes: 3,067 | Goals: 0 | Assists: 18
The Swede: Ever-Present, Not Always Noticeable
For half a season, the Swedish midfielder barely left the pitch.
He ended with the third-highest minutes in the squad, covering huge distances and showing clear tactical discipline. Coaches trust players like this. They know the system, they plug gaps, they keep shape.
But he rarely imposed himself going forward. Once 2026 rolled in, his form dipped into a mixed bag: solid, but too quiet when the game demanded more personality on the ball. Rating: 4.
Matches: 45 | Minutes: 3,462 | Goals: 4 | Assists: 2
Anton: The Unexpected Defensive General
This was supposed to be Schlotterbeck’s defence. It became Waldemar Anton’s.
The former Stuttgart defender logged the second-most minutes and produced a run of almost flawless displays. He tackled with conviction, read danger early and hurled himself into challenges. The more chaotic Dortmund became around him, the calmer his presence looked.
By the end of the season, there was no debate: Anton, not Schlotterbeck, was the defensive linchpin. Rating: 2.
Matches: 44 | Minutes: 3,927 | Goals: 3 | Assists: 0
Anselmino: A Glimpse, Then Gone
Few stories were as abrupt as Aaron Anselmino’s.
Loaned in from Chelsea and short of rhythm, he made an eye-catching debut, then disappeared with injury. When he returned, he looked like he had never been away – aggressive in the tackle, intelligent in his positioning, composed on the ball. For 585 minutes, Dortmund seemed to have unearthed a gem.
Then Chelsea triggered their winter buy-back clause and took him home. A promising chapter closed just as it began to get interesting. Rating: 2.5.
Matches: 10 | Minutes: 585 | Goals: 1 | Assists: 1
Bensebaini: Quietly Productive
Ramy Bensebaini needed time to settle. Once he did, his season looked solid.
Technically one of the most gifted in the squad, the Algerian sharpened his defensive work and contributed cleanly to Dortmund’s build-up play. He also chipped in with goals, finishing behind only Guirassy, Brandt, Beier and Adeyemi in the club’s scoring charts.
Not spectacular, but important. Rating: 2.5.
Matches: 32 | Minutes: 2,396 | Goals: 7 | Assists: 3
Reggiani: Thrown In, Steady Enough
Injuries opened the door; the young Italian walked through it calmly.
Drafted into the back three, he settled quickly, scored in his fourth Bundesliga appearance and earned his first professional contract. On the right side of the three, he mostly played it safe, understandably so. He often leaned on Anton’s guidance.
It wasn’t flashy, but it was serviceable – exactly what you want from a youngster breaking in. Rating: 3.5.
Games: 9 | Minutes: 603 | Goals: 1 | Assists: 0
Can: Captain Without Rhythm
Emre Can’s season never really got going.
Like Schlotterbeck, the captain missed months at the start. When he did return, his form veered up and down, then his campaign ended early with a cruciate ligament tear.
The stop-start nature of his year left a hole in Dortmund’s midfield leadership. Rating: 3.5.
Games: 16 | Minutes: 980 | Goals: 3 | Assists: 0
Couto: Progress, Then the Bench
Last season’s problem child tried to turn the page. For a while, he managed it.
In the first half of the campaign, Couto backed up his own words with more reliable performances. Defensive duels still troubled him, but his commitment was obvious and the big errors dropped. Six goal contributions – three goals, three assists – are respectable.
Then came the winter break. Julian Ryerson’s form spiked, Couto slipped to the bench, and the old question resurfaced: has he really justified that €25 million fee? So far, no. Rating: 4.5.
Games: 27 | Minutes: 1,501 | Goals: 3 | Assists: 3
The Young Centre-Back: From Debut to Detour
Opportunity knocked early for the 20-year-old defender.
He debuted in the cup at Essen and looked decent. Five days later, he stepped into the Bundesliga, conceded a late penalty and saw red. That moment changed everything. He vanished from the first team picture, Reggiani overtook him in the hierarchy, and he now finds himself with the U23s.
A harsh lesson, and one that comes without a rating.
Appearances: 6 | Minutes: 311 | Goals: 0 | Assists: 0
Nmecha: Finally the Midfield Conductor
This was Felix Nmecha’s best season in black and yellow.
He strung together consistently strong performances, dictating tempo, speeding up play and spotting passes others missed. When his form dipped, Dortmund’s control in midfield slipped with it – a clear sign of how central he had become.
His absence through injury underlined that importance even more. Rating: 2.
Appearances: 42 | Minutes: 3,137 | Goals: 5 | Assists: 3
Bellingham: Slow Start, Stronger Finish
The jump from England’s second tier hit Jobe Bellingham hard.
At first, he played within himself, taking few risks and looking shaky in defensive situations. Then the season wore on, and he grew. He secured a regular starting role, beginning 29 of his 45 appearances, and added four assists.
He didn’t score – like Ryerson, he ended the campaign goalless – but he finished it as a trusted starter rather than a project. Rating: 3.5.
Apps: 45 | Minutes: 2,665 | Goals: 0 | Assists: 4
Brandt: Output Without the Full Package
Julian Brandt’s numbers look excellent on paper.
Eleven goals, four assists, and 15 goal contributions from only 24 starts. Only Guirassy scored more for Dortmund. For a club that chose not to extend his contract, that is a lot of production to replace.
Yet the same criticism lingers into a seventh season: the truly consistent, dominant Brandt never fully emerged. Too many games drifted by with him on the periphery. Rating: 2.5.
Games: 41 | Minutes: 2,203 | Goals: 11 | Assists: 4
Chukwuemeka: Talent Trapped in Short Bursts
The fee was high, the return modest.
Carney Chukwuemeka averaged just 32 minutes per appearance and started only ten of his 38 matches. Only in mid-April at Hoffenheim did he complete 90 minutes in a professional game for the first time.
The issue is clear: fitness. Until he builds the stamina to sustain his talent, Dortmund will see only flashes instead of a full performance. Rating: 4.5.
Matches: 38 | Minutes: 1,225 | Goals: 3 | Assists: 2
Sabitzer: Experience Without Impact
At 32, Marcel Sabitzer was supposed to steady games and shape them.
Instead, he flickered briefly into form after a poor pre-season, then faded again. Too often he disappeared, failing to put a stamp on midfield battles or offer the decisive moments expected from a player of his pedigree.
The standards for him are higher than this. Rating: 4.5.
Appearances: 34 | Minutes: 2,347 | Goals: 1 | Assists: 4
The 34-Year-Old Creator: Assists, But No Trust
On raw numbers alone, his season looks puzzling.
Second among Dortmund’s outfielders with 15 assists in the 2024/25 campaign, yet this time he spent most of the first half of the season watching from the bench. Only eight starts, two assists, no goals, and when chances came, he didn’t seize them.
Frustration mounted, and the solution was simple: a winter move back to Brighton. Rating: 4.5.
Appearances: 16 | Minutes: 732 | Goals: 0 | Assists: 2
Özcan: Frozen Out and Moving On
Salih Özcan’s time at Dortmund ended with a whimper.
Left out of the Champions League squad, denied a summer move by injury, and then given just 53 minutes after Niko Kovac had promised more game time in the second half of the season, he now departs on a free.
A season too thin to judge. No rating.
Appearances: 12 | Minutes: 74 | Goals: 0 | Assists: 0
Adeyemi: From Lift-Off to Freefall
Karin Adeyemi’s campaign is split by the turn of the year.
Before it, he looked sharp, involved in nine goals and hinting at a big season ahead of the World Cup. After it, his form collapsed. Only six starts in 2026, a month out injured, and yet he still finished joint third-top scorer with Beier on ten goals.
Given his talent and the expectations around him, the second-half slump – on top of earlier disciplinary issues on and off the pitch – felt like a major step backwards. Rating: 4.
Games: 39 | Minutes: 1,836 | Goals: 10 | Assists: 6
Guirassy: Goals, Droughts and Drama
Serhou Guirassy’s numbers dropped, but he remained Dortmund’s main finisher.
From 43 goal contributions in 45 games last season to 28 in 46 this time – 22 goals and six assists. That’s still double the tally of the next-best scorer, Brandt. The problem was the timing: a brutal run of one goal in 13 Bundesliga matches when Dortmund needed him most.
On top of that came flashpoints – a penalty dispute in Turin, refusing to shake Kovac’s hand, poor body language. The goals kept him central; the behaviour raised questions. Rating: 2.5.
Matches: 46 | Minutes: 3,222 | Goals: 22 | Assists: 6
Beier: The Breakout of the Second Half
Maximilian Beier lit up Dortmund’s run-in.
Six goals, seven assists, and a constant threat despite rarely playing in his preferred role as part of a front two or as a central, deeper striker. More often he worked from the left midfield line, but his impact stayed high.
With ten goals and ten assists across 44 matches, he has almost certainly played himself into the DFB’s World Cup thinking. The challenge now is simple: keep this level. Rating: 2.5.
Matches: 44 | Minutes: 2,736 | Goals: 10 | Assists: 10
The New Striker: Energy Without Edge
The new forward arrived injured and spent the rest of the season chasing fitness and form.
He mostly came off the bench, showing energy, movement and a willingness to press. When he started, the cutting edge deserted him. League goals took a long time to arrive, and three strikes in 39 games is a thin return for a striker.
Seven assists hint at value to the squad, but next season he has to turn effort into end product. Rating: 3.5.
Games: 39 | Minutes: 1,181 | Goals: 3 | Assists: 7
Inacio: A Glimpse of the Future
At 18, Inacio already looks different.
“He sees things that others don’t see even at 30,” Kovac said – and the pitch backed him up. Between the lines he is constantly available, always on the move, always looking for the next dangerous space. He presses, he works, he arrives late in the box.
One goal in 383 minutes is a modest start, but with a little more precision he could already have three or four. Next season, he will not be a curiosity. He will be part of the plan. No rating.
Appearances: 7 | Minutes: 383 | Goals: 1 | Assists: 0
The Supporting Cast
Nine players spent the season in the squad without playing a single minute: reserve keepers Alexander Meyer, Patrick Drewes and Silas Ostrzinski; defenders Yannik Lührs, Danylo Krevsun and Elias Benkara; midfielders Julien Duranville, Giovanni Reyna and Mussa Kaba.
Cole Campbell (16 minutes), Almugera Kabar (14) and Mathis Albert (2) made only brief cameos, just enough to taste the level, not enough to shape it.
Dortmund’s year, then, was defined by a handful of pillars, a clutch of underperforming seniors and a group of youngsters knocking at the door. The question now is simple: will the club double down on the emerging core, or trust once more that the established names will finally deliver the season they keep promising?


