Bundesliga · Matchweek 33
Jeremie Frimpong 30'
Jonas Hofmann 90+2'
HT 1:2
Julian Brandt 33'
Julian Ryerson 43'
Karim Adeyemi 73'
Serhou Guirassy 77'
Sun, 11 May 2025, 14:30 (UK) · BayArena, Leverkusen
Bayer Leverkusen · 68 pts|Borussia Dortmund · 54 pts

Bayer Leverkusen edged xG (2.2–1.16) but Borussia Dortmund took the win.

Player of the matchFlorian Wirtz8.6Decisive moment43' Julian Ryerson+0.9

Bayer Leverkusen 2-4 Borussia Dortmund

Key numbers

  • Possession 62% – 38%
  • Shots 19 (10 on target) – 9 (5)
  • Decisive moment: 43' Julian Ryerson, FN xPts +0.9
Player of the match
Florian Wirtz 8.6Dominant

Highest FN Score on the pitch: 8.6 (Dominant)

Game state

1-01-11-21-31-42-4
Bayer Leverkusen ahead 3 min · level 40 min · Borussia Dortmund ahead 47 min
  • Jonas Hofmann — off the bench 31 min · 1G 0A

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.

30' Jeremie Frimpong Goal · scorer +0.5 · assist Florian Wirtz +0.2 +0.7
33' Julian Brandt Goal · scorer +0.4 · assist Karim Adeyemi +0.2 +0.6
43' Julian Ryerson Goal · scorer +0.6 · assist Pascal Groß +0.3 +0.9
73' Karim Adeyemi Goal · scorer +0.3 · assist Julian Brandt +0.2 +0.5
77' Serhou Guirassy Goal +0.1
90+2' Jonas Hofmann Goal · assist Florian Wirtz 0.0
Bayer Leverkusen Expected (last two seasons) 2.0Own moments +0.7Opponent moments −2.1Time effect −0.6→ League points won 0
Borussia Dortmund Expected (last two seasons) 0.8Own moments +2.1Opponent moments −0.6Time effect +0.7→ League points won 3

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

Bayer LeverkusenBorussia Dortmund
62%Possession38%
2.2Expected goals (xG)1.16
0.12xG per shot0.13
19Shots9
10Shots on target5
53%Shots on target %56%
13Shots in box5
605Passes385
89%Pass accuracy79%
12Corners0
1Saves8
7Fouls8
0Yellow cards2
5Offsides1

Compared with usual

Bayer Leverkusen

47 matches this season, all competitions baseline
This matchAvg
Goals22
Conceded41.1
xG2.21.5
xG against1.160.96
Shots1914.9
On target105.5
Shots faced910
xG per shot0.120.1
Possession62%59.2%
Passes605598.7
Pass accuracy89%86.2%
Corners126
Fouls710.1

Borussia Dortmund

48 matches this season, all competitions baseline
This matchAvg
Goals42.1
Conceded21.5
xG1.161.8
xG against2.21.2
Shots914.2
On target55.2
Shots faced1911.4
xG per shot0.130.13
Possession38%57.7%
Passes385549.4
Pass accuracy79%85.4%
Corners05.8
Fouls810.6

Timeline

  • 20' VAR Alejandro Grimaldo
  • 23' Yellow Pascal Groß
  • 30' Goal Jeremie Frimpong league goal #5 assist Florian Wirtz
  • 33' Goal Julian Brandt league goal #5 assist Karim Adeyemi
  • 43' Goal Julian Ryerson league goal #2 assist Pascal Groß
  • 45+2' Yellow Felix Nmecha
  • 46' Sub Felix Nmecha → Marcel Sabitzer
  • 59' Sub Nathan Tella → Jonas Hofmann
  • 59' Sub Amine Adli → Patrik Schick
  • 67' Sub Robert Andrich → Exequiel Palacios
  • 73' Goal Karim Adeyemi league goal #7 assist Julian Brandt
  • 74' Sub Karim Adeyemi → Emre Can
  • 77' Goal Serhou Guirassy league goal #20
  • 78' Sub Piero Hincapié → Arthur
  • 78' Sub Granit Xhaka → Aleix García
  • 82' Sub Pascal Groß → Salih Özcan
  • 87' Sub Julian Ryerson → Yan Couto
  • 87' Sub Julian Brandt → Jamie Gittens
  • 90+2' Goal Jonas Hofmann league goal #2 assist Florian Wirtz

Category leaders

  • Key passesFlorian Wirtz4
  • Duels wonPiero Hincapié10/11
  • DribblesFlorian Wirtz4/8
  • Defensive actionsRamy Bensebaini7
  • ShotsFlorian Wirtz3 (on target 2)
  • Fouls wonGranit Xhaka3

Past-season matches are summarised from match data (API-Football) without a written review. FN Score and FN xPts are calculated by Fulltime Note using a published formula.