DFB-Pokal · Round of 32
Christian Rasmussen 46'
Philipp Hofmann 75'
HT 0:0
Tue, 27 Oct 2026, 17:00 (UK) · Vonovia Ruhrstadion, Bochum

Bochum scored twice after the break and Timo Horn stopped all five Mainz shots on target in a 2-0 DFB-Pokal win.

FN MOMTimo Horn7.3Decisive moment46' Christian Rasmussen+0.7M05 −0.7

Bochum 2-0 Mainz: Horn's five saves protect a second-half lead

Key numbers

  • Nine shots: Mainz's fewest this season
  • xG per shot: 0.18 Bochum, 0.06 Mainz
  • Horn made five saves for the clean sheet

Two second-half goals settle it

Bochum beat Mainz 2-0 in the DFB-Pokal at the Vonovia Ruhrstadion, with both goals arriving after a goalless first half. Christian Rasmussen scored in the 46th minute, just after the break, and Bochum led for roughly 44 minutes. Mainz, who had averaged 3.1 goals in their earlier matches this season, never found a reply.

Mainz's shot count fell to a season low

Mainz had more shots than Bochum, nine to eight, but their xG per shot was only 0.06. It was also fewer shots than in any earlier match this season, so the volume fell as well as the quality. That suggests Mainz were far less threatening than usual, even if the raw shot count looked competitive.

Horn denies five efforts on target

Mainz did put five shots on target, but Timo Horn saved every one of them. Bochum's 1.44 xG to Mainz's 0.52 suggests their chances were the better ones, though Mainz had more efforts on target. Horn's saves are what kept the clean sheet intact on an evening when the visitors tested him repeatedly.

A substitute adds the second

Rasmussen's opening goal, set up by Gerrit Holtmann, was worth +0.7 FN xPts to Bochum. Philipp Hofmann, who replaced Rasmussen in the 63rd minute, added a second in the 75th minute from a Jarne Steuckers assist, a goal worth +0.8 FN xPts and one that left Mainz with a two-goal deficit.

FN MOM
Highest FN Score · our own pick by a published formula, not the official Player of the Match
Timo Horn 7.3Strong

He saved all five Mainz shots on target to secure the clean sheet.

Horn's value came almost entirely from shot-stopping: all five Mainz efforts on target were saved, which is why Bochum's lead from the 46th minute was never reduced. Mainz's xG was only 0.52, so this was less about a barrage than about not conceding from the shots that did arrive. By the time Hofmann made it 2-0 in the 75th minute, the margin was already protected.

Game state

1-02-0
VfL Bochum ahead 44 min · level 46 min · FSV Mainz 05 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.

46' Christian Rasmussen Goal · scorer +0.5 · assist Gerrit Holtmann +0.2 · M05 −0.7 +0.7
75' Philipp Hofmann Goal · scorer +0.6 · assist Jarne Steuckers +0.2 · M05 −0.6 +0.8

Knockout ties have no league points, so moments are weighed on a win-3/draw-1 scale only.

Pre-match expectation for VfL Bochum is an estimate: no top-five-league record, so it uses the published starting values.

How FN Score and FN xPts work →

Match stats

VfL BochumFSV Mainz 05
48%Possession52%
1.44Expected goals (xG)0.52
0.18xG per shot0.06
8Shots9
3Shots on target5
38%Shots on target %56%
7Shots in box5
443Passes467
5Corners6
5Saves1
13Fouls5
3Yellow cards1
0Offsides1

Compared with usual

FSV Mainz 05

8 matches this season, all competitions baseline
This matchAvg
Goals03.1
Conceded21.6
xG0.522.2
xG against1.441.5
Shots919.4low
On target57
Shots faced812.8
xG per shot0.060.13
Possession52%53.6%
Passes467481.3
Corners65.5
Fouls512.5low

Timeline

  • 46' Goal Christian Rasmussen assist Gerrit Holtmann
  • 63' Sub Berkan Taz → Koji Miyoshi
  • 63' Sub Lee Jae-Sung → Eric Martel
  • 63' Sub Christian Rasmussen → Philipp Hofmann
  • 63' Sub Silvan Widmer → Anthony Caci
  • 63' Sub Phillip Tietz → Ransford Yeboah Königsdörffer
  • 64' Yellow Ransford Yeboah Königsdörffer
  • 66' Yellow T. Meyer
  • 71' Sub Gerrit Holtmann → Mansour Ouro-Tagba
  • 75' Goal Philipp Hofmann assist Jarne Steuckers
  • 81' Sub Maximilian Wittek → L. Sawas
  • 81' Sub Jarne Steuckers → L. Isbruch
  • 84' Sub Paul Nebel → Benedict Hollerbach
  • 84' Sub Danny da Costa → Sota Kawasaki
  • 90+6' Yellow L. Isbruch
  • 90+7' Yellow Sean Klaiber

Category leaders

  • Key passesAnthony Caci3
  • Duels wonMats Pannewig10/15
  • DribblesMats Pannewig2/3
  • Defensive actionsKacper Potulski6
  • ShotsMats Pannewig3 (on target 0)
  • Fouls wonKaishu Sano3
#Bochum#Mainz#DFB-Pokal#Timo Horn#Christian Rasmussen#Philipp Hofmann

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.