Mainz vs FC Cologne

24 August 2025 · Bundesliga · 2025/26 · Referee Tobias Stieler

Full time 0 – 1

Half-time: 0–0

  • Marius Bülter 90’

Match summary

FC Cologne beat Mainz 1-0 on the road, with a late winner. It was goalless at half-time.

Marius Bülter put FC Cologne ahead with a header in the 90th minute, set up by Gian-Luca Waldschmidt.

The chances backed that up: FC Cologne created 1.65 expected goals (xG) from 12 shots to Mainz's 1.32 from 19. Mainz had a player sent off.

Match stats

51% Possession 49%
19 Shots 12
2 Shots on target 2
8 Corners 3
93 Attacks 87
75 Dangerous attacks 34
389 Passes 401
78% Pass accuracy 81%
10 Tackles 10
7 Fouls 9
0 Yellow cards 2
1 Red cards 0
5 Offsides 0

Key events

Mainz FC Cologne
Kick-off
Nelson WeiperBenedict HollerbachInjury
15’
27’
Kristoffer LundFoul
27’
Bo Henriksen
45’
Jakub KaminskiShot on target
Half-time0-0
Second half underway
Nadiem AmiriShot on target
58’
Paul NebelProfessional foul last man
60’
Bo Henriksen
62’
Stefan BellAndreas Hanche-Olsen
65’
67’
Ragnar AcheKristoffer Lund
67’
Cenk ÖzkacarJan Thielmann
Nelson WeiperShot on target
72’
80’
Florian KainzÍsak Jóhannesson
81’
90’
Marius BülterHeader0-1 (FC Cologne)
Armindo SiebDominik Kohr
90+3’
Full-time0-1

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 0’ 15’ 30’ 45’ 60’ 75’ 90’ HT 1.32 1.65 90’ Marius Bülter (FC Cologne), 0-1 90’ 0.0 0.5 1.0 1.5 2.0 0’ 15’ 30’ 45’ 60’ 75’ 90’ HT 1.32 1.65 90’ Marius Bülter (FC Cologne), 0-1 Bülter 90’
Mainz 1.32 xGFC Cologne 1.65 xG Goal

Tap a goal for the scorer and score.

Shot map

Every shot and where it was taken from.

 FC Cologne attacking Mainz attacking 
74’ Cenk Özkacar (FC Cologne), from a corner, 0.46 xG, off target 90+10’ Jae-Sung Lee (Mainz), open play, 0.42 xG, off target 90’ Marius Bülter (FC Cologne), open play, 0.40 xG, goal 48’ Jan Thielmann (FC Cologne), open play, 0.35 xG, off target 82’ Silvan Widmer (Mainz), open play, 0.11 xG, blocked 82’ Silvan Widmer (Mainz), open play, 0.11 xG, blocked 2’ Paul Nebel (Mainz), open play, 0.10 xG, blocked 28’ Sebastian Sebulonsen (FC Cologne), open play, 0.10 xG, off target 45’ Jakub Kaminski (FC Cologne), open play, 0.09 xG, saved 2’ Anthony Caci (Mainz), open play, 0.08 xG, blocked 53’ Jan Thielmann (FC Cologne), open play, 0.07 xG, off target 67’ Dominik Kohr (Mainz), open play, 0.07 xG, blocked 33’ Nadiem Amiri (Mainz), open play, 0.06 xG, off target 59’ Paul Nebel (Mainz), open play, 0.06 xG, blocked 63’ Jakub Kaminski (FC Cologne), direct free kick, 0.06 xG, off target 72’ Nelson Weiper (Mainz), open play, 0.05 xG, saved 29’ Jae-Sung Lee (Mainz), open play, 0.04 xG, blocked 32’ Anthony Caci (Mainz), open play, 0.04 xG, blocked 90+10’ Stefan Bell (Mainz), open play, 0.04 xG, off target 46’ Jan Thielmann (FC Cologne), from a corner, 0.04 xG, blocked 80’ Said El Mala (FC Cologne), open play, 0.03 xG, off target 66’ Nelson Weiper (Mainz), open play, 0.03 xG, blocked 69’ Jakub Kaminski (FC Cologne), open play, 0.03 xG, off target 2’ Kaishu Sano (Mainz), open play, 0.02 xG, blocked 29’ Anthony Caci (Mainz), open play, 0.02 xG, off target 67’ Kaishu Sano (Mainz), open play, 0.02 xG, blocked 78’ Jakub Kaminski (FC Cologne), open play, 0.02 xG, blocked 49’ Kristoffer Lund (FC Cologne), open play, 0.02 xG, off target 58’ Nadiem Amiri (Mainz), open play, 0.02 xG, saved 30’ Jae-Sung Lee (Mainz), from a corner, 0.01 xG, blocked 90+2’ Danny da Costa (Mainz), open play, 0.01 xG, off target 74’ Cenk Özkacar (FC Cologne), from a corner, 0.46 xG, off target 90+10’ Jae-Sung Lee (Mainz), open play, 0.42 xG, off target 90’ Marius Bülter (FC Cologne), open play, 0.40 xG, goal 48’ Jan Thielmann (FC Cologne), open play, 0.35 xG, off target 82’ Silvan Widmer (Mainz), open play, 0.11 xG, blocked 82’ Silvan Widmer (Mainz), open play, 0.11 xG, blocked 2’ Paul Nebel (Mainz), open play, 0.10 xG, blocked 28’ Sebastian Sebulonsen (FC Cologne), open play, 0.10 xG, off target 45’ Jakub Kaminski (FC Cologne), open play, 0.09 xG, saved 2’ Anthony Caci (Mainz), open play, 0.08 xG, blocked 53’ Jan Thielmann (FC Cologne), open play, 0.07 xG, off target 67’ Dominik Kohr (Mainz), open play, 0.07 xG, blocked 33’ Nadiem Amiri (Mainz), open play, 0.06 xG, off target 59’ Paul Nebel (Mainz), open play, 0.06 xG, blocked 63’ Jakub Kaminski (FC Cologne), direct free kick, 0.06 xG, off target 72’ Nelson Weiper (Mainz), open play, 0.05 xG, saved 29’ Jae-Sung Lee (Mainz), open play, 0.04 xG, blocked 32’ Anthony Caci (Mainz), open play, 0.04 xG, blocked 90+10’ Stefan Bell (Mainz), open play, 0.04 xG, off target 46’ Jan Thielmann (FC Cologne), from a corner, 0.04 xG, blocked 80’ Said El Mala (FC Cologne), open play, 0.03 xG, off target 66’ Nelson Weiper (Mainz), open play, 0.03 xG, blocked 69’ Jakub Kaminski (FC Cologne), open play, 0.03 xG, off target 2’ Kaishu Sano (Mainz), open play, 0.02 xG, blocked 29’ Anthony Caci (Mainz), open play, 0.02 xG, off target 67’ Kaishu Sano (Mainz), open play, 0.02 xG, blocked 49’ Kristoffer Lund (FC Cologne), open play, 0.02 xG, off target 78’ Jakub Kaminski (FC Cologne), open play, 0.02 xG, blocked 58’ Nadiem Amiri (Mainz), open play, 0.02 xG, saved 30’ Jae-Sung Lee (Mainz), from a corner, 0.01 xG, blocked 90+2’ Danny da Costa (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-4-2-1 Starting XI
Zentner
Costa
Hanche-Olsen 65’
Kohr 90’
Caci 65’
Sano
Amiri 65’
Mwene
Nebel
Lee
Hollerbach 15’
FC Cologne 3-4-2-1 Starting XI
Schwäbe
Krauß 68’
Hübers
Schmied
Lund 67’
Martel
Jóhannesson 80’
Sebulonsen 74’
Kamiński
Thielmann 67’
Bülter

Player stats

PlayerPosMinGAShxGxAKPCards
Robin Zentner GK900 0.000.000
Danny da Costa DEF901 0.010.082
Dominik Kohr DEF901 0.070.173
Andreas Hanche-Olsen DEF680 0.000.061
Anthony Caci MID683 0.140.021
Philipp Mwene MID900 0.000.214
Kaishu Sano MID902 0.040.000
Nadiem Amiri MID682 0.080.000
Jae-Sung Lee MID903 0.480.000
Paul Nebel MID632 0.160.011
Benedict Hollerbach FWD140 0.000.000
Nelson Weiper Sub762 0.080.061
Stefan Bell Sub221 0.040.532
Silvan Widmer Sub222 0.220.000
Lennard Maloney Sub220 0.000.000
Armindo Sieb Sub10 0.000.000

Starters first, then substitutes. xA is expected assists.

Before kick-off

Mainz win 48% Avg odds 1.95
Draw 26% Avg odds 3.60
FC Cologne win 26% Avg odds 3.70

Chances implied by the average closing odds, with the bookmaker margin removed.

Form going into the game

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

Previous and next meeting

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