Dortmund 1-0 Frankfurt: two substitutes break the deadlock
AI-written review based on match data · How we make it
Key numbers
- 18 shots to 8, but only 0.09 xG per shot
- 13 corners, well above the 7.4 season average
- 80' winner worth +1.3 FN xPts to Dortmund
Substitutes combine to end the stalemate
Borussia Dortmund had to wait until the 80th minute to break down Eintracht Frankfurt, and the goal came from the bench. Maximilian Beier, on since the 68th minute, finished a move set up by Jobe Bellingham, who had come on a minute earlier. Until then the match had been goalless.
Plenty of shots, modest quality
Dortmund's pressure came with modest shot quality. Their xG per shot of 0.09 sat below their season average, while 13 corners were well above it. Their total xG still exceeded Frankfurt's, so the shortfall looks more like a finishing problem than any difficulty in reaching good positions.
Baum anchors a stubborn defence
Frankfurt managed only eight shots, far fewer than their average over the previous six matches. What kept the match level for so long was new starter Elias Baum, whose nine defensive actions were the most of any player on either side. Goalkeeper Noah Atubolu also made a string of saves.
The goal that turned a draw into a lead
Beier's goal was worth +1.3 FN xPts to Dortmund and cost Frankfurt −0.8, a measure of how long the match had stayed level. Carney Chukwuemeka, who began on the bench and replaced Marcel Sabitzer, set up three chances with key passes. The winner was a joint effort between two substitutes.
FN MOM
Highest FN Score · our own pick by a published formula, not the official Player of the Match
Joey Veerman 8.1Dominant
He made five key passes, the most in the match, and completed 66 of his 73 passes.
Veerman did two jobs for 90 minutes: he supplied the attack and covered ground defensively, with three tackles and two interceptions. In a match where Dortmund had 18 shots and still had to wait until the 80th minute to score, his steady supply from midfield kept the pressure on Frankfurt until the substitutes finished the job.
Game state
1-0
Borussia Dortmund ahead 10 min · level 80 min · Eintracht Frankfurt ahead 0 min
FN xPts — what each moment was worth
How much each moment changed that team's expected points (win 3, draw 1). A goal's value is credited 70% to the scorer and 30% to the assist. The value next to a team code is what the same moment did to the other side's expected points; the decisive moment is the one with the largest combined change for both teams.
80'
Maximilian Beier
Goal · scorer +0.9 · assist Jobe Bellingham +0.4 · SGE −0.8
+1.3
Borussia Dortmund
Expected (last two seasons) 2.1Own moments +1.3Opponent moments 0.0Time effect −0.4→ League points won 3
Eintracht Frankfurt
Expected (last two seasons) 0.7Own moments 0.0Opponent moments −0.8Time effect +0.1→ League points won 0
Expected points don't add up to a fixed total (a draw is 1 + 1), so an opponent's moment isn't simply the mirror of your loss. "Time effect" is the change as the clock runs down on a lead or a chase, and isn't credited to any player.
How FN Score and FN xPts work →
Match stats
Borussia DortmundEintracht Frankfurt
1.65Expected goals (xG)0.88
Compared with usual
Borussia Dortmund
10 matches this season, all competitions baseline
| This match | Avg | |
|---|
| Goals | 1 | 2.1 | |
| Conceded | 0 | 0.8 | |
| xG | 1.65 | 2 | |
| xG against | 0.88 | 1.1 | |
| Shots | 18 | 17.6 | |
| On target | 5 | 6.2 | |
| Shots faced | 8 | 10.9 | |
| xG per shot | 0.09 | 0.13 | |
| Possession | 59% | 56.5% | |
| Passes | 483 | 540.4 | |
| Corners | 13 | 7.4 | |
| Fouls | 7 | 10.9 | |
Eintracht Frankfurt
last 6 matches, all competitions baseline
| This match | Avg | |
|---|
| Goals | 0 | 1.7 | |
| Conceded | 1 | 2.7 | |
| xG | 0.88 | 1.9 | |
| xG against | 1.65 | 2.1 | |
| Shots | 8 | 14.7 | |
| On target | 3 | 5.8 | |
| Shots faced | 18 | 17.5 | |
| xG per shot | 0.11 | 0.14 | |
| Possession | 41% | 51.3% | |
| Passes | 361 | 437 | |
| Corners | 1 | 5.3 | |
| Fouls | 12 | 10.3 | |
Timeline
- 58'
Yellow
Nnamdi Collins
- 63'
Yellow
Farès Chaïbi
- 68'
Sub
Marcel Sabitzer → Carney Chukwuemeka
- 68'
Sub
Fábio Silva → Ethan Nwaneri
- 68'
Sub
Daniel Svensson → Maximilian Beier
- 77'
Sub
Jonathan Burkardt → Ansgar Knauff
- 77'
Sub
Younes Ebnoutalib → Can Uzun
- 79'
Sub
Felix Nmecha → Jobe Bellingham
- 80'
Goal
Maximilian Beier league goal #2 assist Jobe Bellingham
- 84'
Sub
Farès Chaïbi → Love Arrhov
- 84'
Sub
Noel Aseko → Mario Götze
- 87'
Sub
Ritsu Doan → Ayoube Amaimouni Echghouyab
- 90+2'
Sub
Julian Ryerson → Kouakou Joane Gadou
Category leaders
- Key passesJoey Veerman5
- Duels wonElias Baum11/12
- DribblesFelix Nmecha3/4
- Defensive actionsElias Baum9
- ShotsSerhou Guirassy5 (on target 2)
- Fouls wonElias Baum3
#Bundesliga#Borussia Dortmund#Eintracht Frankfurt#Joey Veerman#Maximilian Beier#Elias Baum
This review was written by AI from match data (API-Football). FN Score and FN xPts are calculated by Fulltime Note using a published formula.