Mainz vs Werder Bremen

24 October 2026 · Bundesliga · 2026/27 · Referee Florian Badstübner

Full time 2 – 3

Half-time: 1–2

  • Anthony Caci 33’
  • Jae-Sung Lee 63’
  • Niclas Füllkrug 7’ (pen), 25’ (pen)
  • Ludovit Reis 61’

Match summary

Werder Bremen beat Mainz 3-2 on the road. Werder Bremen led 2-1 at half-time.

In the first half, Niclas Füllkrug put Werder Bremen ahead from the penalty spot in the 7th minute, Füllkrug made it 0-2 from the penalty spot in the 25th minute, and Anthony Caci pulled one back to make it 1-2 with a header in the 33rd minute, set up by Sheraldo Becker. In the second half, Ludovit Reis made it 1-3 in the 61st minute, set up by Marco Grüll and Jae-Sung Lee made it 2-3 with a header in the 63rd minute, set up by Anthony Caci.

The chances backed that up: Werder Bremen created 2.95 expected goals (xG) from 17 shots to Mainz's 1.86 from 18.

Mainz hosted Werder Bremen on matchday 7 of the Bundesliga, controlling territory and possession during an intense encounter that finished with a narrow away victory. Mainz registered 53 percent possession and dominated the attacking metrics, accumulating 145 attacks and 91 dangerous attacks compared to Werder Bremen totals of 76 and 34. Both sides matched each other in overall shot volume with 18 attempts for Mainz and 17 for Werder Bremen, while each team managed 8 shots on target. The hosts also recorded 6 corners to their opponents 6, completed 559 passes with an 87 percent accuracy rate, and committed 7 fouls against 5 from the visitors, accumulating 3 yellow cards while Werder Bremen received 2.

The action began in the 7th minute when Niclas Füllkrug opened the scoring with a penalty goal for Werder Bremen, before doubling the lead in the 25th minute with another penalty goal. Anthony Caci pulled a goal back for Mainz in the 33th minute with a header, leaving the half-time score at 1-2. Ludovit Reis received a yellow card in the 38th minute for a foul. Following a series of substitutions in the second half, Ludovit Reis scored with a left-footed shot in the 61st minute to make it 1-3. Jae-sung Lee responded with a header for Mainz in the 63rd minute to narrow the deficit to 2-3. Further bookings were issued to Phillipp Mwene, Benedict Hollerbach, Marco Grüll, and Alexander Schwolow before the match concluded.

Match stats

53% Possession 47%
18 Shots 17
8 Shots on target 8
6 Corners 6
145 Attacks 76
91 Dangerous attacks 34
559 Passes 510
87% Pass accuracy 85%
17 Tackles 16
7 Fouls 5
3 Yellow cards 2
0 Red cards 0
2 Offsides 0

Key events

Mainz Werder Bremen
Kick-off
6’
ArthurShot on target
7’
Niclas FüllkrugPenalty0-1 (Werder Bremen)
Kacper PotulskiShot on target
18’
Jae-Sung LeeShot on target
18’
Corner
18’
20’
ChukiShot on target
25’
Niclas FüllkrugPenalty0-2 (Werder Bremen)
32’
Niclas FüllkrugShot on target
32’
Corner
Anthony CaciHeader1-2 (Mainz)
33’
38’
Corner
45’
Half-time1-2
Phillip TietzShot on target
47’
Second half underway
54’
ChukiShot on target
58’
Corner
58’
Corner
61’
Ludovit ReisLeft foot shot1-3 (Werder Bremen)
Philipp MweneShot on target
61’
Jae-sung LeeHeader2-3 (Mainz)
63’
Corner
68’
Corner
68’
69’
72’
Corner
74’
Sheraldo BeckerShot on target
75’
76’
Marco GrüllShot on target
Nadiem AmiriShot on target
81’
84’
Corner
88’
89’
90+4’
Corner
90+4’
90+5’
Corner
90+5’
Corner
Full-time2-3

How the chances added up

Running total of expected goals (xG) for each side through the match. xG rates each chance by how often similar shots are scored. A goal is marked where it was scored.

0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 0’ 15’ 30’ 45’ 60’ 75’ 90’ HT 1.86 2.95 7’ Niclas Füllkrug (Werder Bremen), 0-1 7’ 25’ Niclas Füllkrug (Werder Bremen), 0-2 25’ 33’ Anthony Caci (Mainz), 1-2 33’ 61’ Ludovit Reis (Werder Bremen), 1-3 61’ 63’ Jae-Sung Lee (Mainz), 2-3 63’ 0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 0’ 15’ 30’ 45’ 60’ 75’ 90’ HT 1.86 2.95 7’ Niclas Füllkrug (Werder Bremen), 0-1 Füllkrug 7’ 25’ Niclas Füllkrug (Werder Bremen), 0-2 Füllkrug 25’ 33’ Anthony Caci (Mainz), 1-2 Caci 33’ 61’ Ludovit Reis (Werder Bremen), 1-3 Reis 61’ 63’ Jae-Sung Lee (Mainz), 2-3 Lee 63’
Mainz 1.86 xGWerder Bremen 2.95 xG Goal

Tap a goal for the scorer and score.

Shot map

Every shot and where it was taken from.

 Werder Bremen attacking Mainz attacking 
7’ Niclas Füllkrug (Werder Bremen), penalty, 0.76 xG, goal 25’ Niclas Füllkrug (Werder Bremen), penalty, 0.76 xG, goal 81’ Nadiem Amiri (Mainz), open play, 0.39 xG, saved 32’ Niclas Füllkrug (Werder Bremen), from a corner, 0.34 xG, saved 33’ Anthony Caci (Mainz), open play, 0.30 xG, goal 18’ Jae-Sung Lee (Mainz), from a corner, 0.28 xG, saved 61’ Philipp Mwene (Mainz), open play, 0.24 xG, saved 54’ Chuki (Werder Bremen), open play, 0.14 xG, saved 90+6’ Eren Sami Dinkci (Werder Bremen), open play, 0.13 xG, blocked 20’ Chuki (Werder Bremen), open play, 0.11 xG, saved 77’ Phillip Tietz (Mainz), open play, 0.10 xG, off target 6’ Arthur (Werder Bremen), open play, 0.10 xG, saved 32’ Mitchell Weiser (Werder Bremen), open play, 0.10 xG, off target 58’ Mitchell Weiser (Werder Bremen), from a corner, 0.10 xG, blocked 90+4’ Cedric Itten (Werder Bremen), open play, 0.10 xG, blocked 49’ Sheraldo Becker (Mainz), open play, 0.08 xG, blocked 58’ Niclas Füllkrug (Werder Bremen), from a corner, 0.08 xG, off target 68’ Danny da Costa (Mainz), from a corner, 0.08 xG, blocked 61’ Ludovit Reis (Werder Bremen), open play, 0.07 xG, goal 76’ Eren Sami Dinkci (Werder Bremen), set piece, 0.07 xG, off target 51’ Ludovit Reis (Werder Bremen), open play, 0.06 xG, blocked 52’ Jae-Sung Lee (Mainz), open play, 0.06 xG, off target 49’ Kacper Potulski (Mainz), open play, 0.06 xG, off target 74’ Phillip Tietz (Mainz), open play, 0.04 xG, blocked 18’ Kacper Potulski (Mainz), set piece, 0.03 xG, saved 40’ Philipp Mwene (Mainz), open play, 0.04 xG, off target 36’ Phillip Tietz (Mainz), open play, 0.03 xG, off target 63’ Jae-Sung Lee (Mainz), open play, 0.03 xG, goal 47’ Phillip Tietz (Mainz), open play, 0.03 xG, saved 76’ Marco Grüll (Werder Bremen), set piece, 0.03 xG, saved 75’ Sheraldo Becker (Mainz), from a corner, 0.02 xG, saved 72’ Nadiem Amiri (Mainz), open play, 0.02 xG, off target 58’ Marco Friedl (Werder Bremen), from a corner, 0.02 xG, blocked 84’ Oskar Wójcik (Werder Bremen), from a corner, 0.01 xG, off target 79’ Phillip Tietz (Mainz), open play, 0.01 xG, off target 7’ Niclas Füllkrug (Werder Bremen), penalty, 0.76 xG, goal 25’ Niclas Füllkrug (Werder Bremen), penalty, 0.76 xG, goal 81’ Nadiem Amiri (Mainz), open play, 0.39 xG, saved 32’ Niclas Füllkrug (Werder Bremen), from a corner, 0.34 xG, saved 33’ Anthony Caci (Mainz), open play, 0.30 xG, goal 18’ Jae-Sung Lee (Mainz), from a corner, 0.28 xG, saved 61’ Philipp Mwene (Mainz), open play, 0.24 xG, saved 54’ Chuki (Werder Bremen), open play, 0.14 xG, saved 90+6’ Eren Sami Dinkci (Werder Bremen), open play, 0.13 xG, blocked 20’ Chuki (Werder Bremen), open play, 0.11 xG, saved 77’ Phillip Tietz (Mainz), open play, 0.10 xG, off target 32’ Mitchell Weiser (Werder Bremen), open play, 0.10 xG, off target 90+4’ Cedric Itten (Werder Bremen), open play, 0.10 xG, blocked 6’ Arthur (Werder Bremen), open play, 0.10 xG, saved 58’ Mitchell Weiser (Werder Bremen), from a corner, 0.10 xG, blocked 49’ Sheraldo Becker (Mainz), open play, 0.08 xG, blocked 58’ Niclas Füllkrug (Werder Bremen), from a corner, 0.08 xG, off target 68’ Danny da Costa (Mainz), from a corner, 0.08 xG, blocked 61’ Ludovit Reis (Werder Bremen), open play, 0.07 xG, goal 76’ Eren Sami Dinkci (Werder Bremen), set piece, 0.07 xG, off target 51’ Ludovit Reis (Werder Bremen), open play, 0.06 xG, blocked 52’ Jae-Sung Lee (Mainz), open play, 0.06 xG, off target 49’ Kacper Potulski (Mainz), open play, 0.06 xG, off target 74’ Phillip Tietz (Mainz), open play, 0.04 xG, blocked 40’ Philipp Mwene (Mainz), open play, 0.04 xG, off target 18’ Kacper Potulski (Mainz), set piece, 0.03 xG, saved 36’ Phillip Tietz (Mainz), open play, 0.03 xG, off target 63’ Jae-Sung Lee (Mainz), open play, 0.03 xG, goal 47’ Phillip Tietz (Mainz), open play, 0.03 xG, saved 76’ Marco Grüll (Werder Bremen), set piece, 0.03 xG, saved 75’ Sheraldo Becker (Mainz), from a corner, 0.02 xG, saved 72’ Nadiem Amiri (Mainz), open play, 0.02 xG, off target 58’ Marco Friedl (Werder Bremen), from a corner, 0.02 xG, blocked 84’ Oskar Wójcik (Werder Bremen), from a corner, 0.01 xG, off target 79’ Phillip Tietz (Mainz), open play, 0.01 xG, off target
Size shows xG Goal On target Off target or blocked

Hover or tap a shot for the player, minute and xG.

Lineups

Mainz 3-5-2 Starting XI
Schwolow
Costa 85’
Posch
Potulski
Caci 75’
Amiri
Sano 90’
Lee 75’
Mwene
Tietz
Becker 85’
Werder Bremen 4-2-3-1 Starting XI
Hein
Deman 46’
Friedl
Pieper
Arthur
Regeer
Reis
Grüll
Chuki 72’
Weiser 59’
Füllkrug 2 81’

Player stats

Goalkeeper1 player
90′ 6 3 14 – – – –
Defenders4 players
90′ – – 1 2 2 98 1 – – –
90′ – 1 1 4 3 71 1 – – –
Danny da Costa Taken off
85′ 5 1 – 7 1 60 1 – – –
Silvan Widmer Came on as a substitute
15′ 1 1 1 1 – 11 – – – –
Midfielders7 players
Anthony Caci Taken off
75′ 1 1 50 5 0.41 2 – 3 – – –
90′ – – 40 – – 2 – 3 1 –
90′ – – 65 5 0.26 – 1 2 – – –
Kaishu Sano Taken off
89′ – – 59 1 0.39 – 4 5 1 2 –
Jae-Sung Lee Taken off
75′ 1 – 36 2 0.10 5 – 8 – 1 –
Paul Nebel Came on as a substitute
11′ – – 6 – – 1 – 1 – – –
Eric Martel Came on as a substitute
1′ – – 1 – – – – 1 – – –
Forwards4 players
90′ – – 5 1 0.22 – – 8 1 8 –
Sheraldo Becker Taken off
85′ – 1 2 1 0.11 0.36 3 1 – 31 –
Ransford Königsdörffer Came on as a substitute
15′ – – – – – – – 1 – 5 –
Benedict Hollerbach Came on as a substitute
11′ – – – – – – – 1 – 4
Came on Taken off Sent off Red is the most in that position for the team

Every player who took the pitch, starters first and then substitutes. A dash means none. xG and xA are expected goals and assists.

Before kick-off

Mainz win 54% Avg odds 1.74 Our estimate 53%
Draw 23% Avg odds 4.09 Our estimate 24%
Werder Bremen win 23% Avg odds 4.11 Our estimate 23%

Chances implied by the average closing odds, with the bookmaker margin removed. Our estimate is the figure from before kick-off. How our figures work.

Form going into the game

Last five league games before this one, oldest first. Select one to open it.

Previous and next meeting

Match report

All Bundesliga news 

Our write-up of this game.

Shots, expected goals and player data from Understat. Timeline, lineups, team and player statistics from Sportmonks. Results and odds from football-data.co.uk.