Mainz vs Stuttgart

25 January 2025 · Bundesliga · 2024/25 · Referee Tobias Stieler

Full time 2 – 0

Half-time: 1–0

  • Nelson Weiper 29’
  • Anthony Caci 86’

Match summary

Mainz won 2-0 at home to Stuttgart. Mainz led 1-0 at half-time.

Nelson Weiper put Mainz ahead in the 29th minute, set up by Paul Nebel and Anthony Caci made it 2-0 in the 86th minute, set up by Armindo Sieb.

The chances backed that up: Mainz created 2.23 expected goals (xG) from 11 shots to Stuttgart's 0.92 from 10.

Match stats

Mainz Stuttgart
11 Shots 10
4 Shots on Target 5
9 Corners 2
4 Yellow Cards 3
0 Red Cards 0
2.23 xG 0.92
2.23 Non-penalty xG 0.92
9 Deep Completions 13

Key events

Mainz Stuttgart
Kick-off
Nelson Weiper
Assist: Paul Nebel
1-0 (Mainz)
29’
Half-time1-0
Anthony Caci
Assist: Armindo Sieb
2-0 (Mainz)
86’
Full-time2-0

Bookings

Card times are not on file for this game, so they are listed without a minute.

Mainz
  • Robin Zentner
  • Kaishu Sano
  • Jae-Sung Lee
  • Nelson Weiper
Stuttgart
  • Angelo Stiller
  • Atakan Karazor
  • Julian Chabot

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 0’ 15’ 30’ 45’ 60’ 75’ 90’ HT 2.23 0.92 29’ Nelson Weiper (Mainz), 1-0 29’ 86’ Anthony Caci (Mainz), 2-0 86’ 0.0 0.5 1.0 1.5 2.0 2.5 3.0 0’ 15’ 30’ 45’ 60’ 75’ 90’ HT 2.23 0.92 29’ Nelson Weiper (Mainz), 1-0 Weiper 29’ 86’ Anthony Caci (Mainz), 2-0 Caci 86’
Mainz 2.23 xGStuttgart 0.92 xG Goal

Tap a goal for the scorer and score.

Shot map

Every shot and where it was taken from.

 Stuttgart attacking Mainz attacking 
86’ Anthony Caci (Mainz), open play, 0.53 xG, goal 29’ Nelson Weiper (Mainz), open play, 0.47 xG, goal 14’ Deniz Undav (Stuttgart), open play, 0.41 xG, off target 3’ Nelson Weiper (Mainz), open play, 0.40 xG, saved 79’ Nadiem Amiri (Mainz), open play, 0.38 xG, saved 65’ Andreas Hanche-Olsen (Mainz), from a corner, 0.13 xG, blocked 32’ Deniz Undav (Stuttgart), set piece, 0.12 xG, blocked 68’ Paul Nebel (Mainz), open play, 0.10 xG, blocked 80’ Stefan Bell (Mainz), from a corner, 0.10 xG, off target 90+1’ Ermedin Demirovic (Stuttgart), open play, 0.10 xG, blocked 84’ Fabian Rieder (Stuttgart), open play, 0.07 xG, off target 77’ Andreas Hanche-Olsen (Mainz), from a corner, 0.05 xG, off target 67’ Deniz Undav (Stuttgart), open play, 0.05 xG, saved 67’ Nick Woltemade (Stuttgart), open play, 0.05 xG, off target 90+1’ Ermedin Demirovic (Stuttgart), open play, 0.04 xG, blocked 27’ Nick Woltemade (Stuttgart), open play, 0.04 xG, saved 59’ Paul Nebel (Mainz), open play, 0.02 xG, off target 90+2’ Jamie Leweling (Stuttgart), open play, 0.02 xG, saved 9’ Jacob Bruun Larsen (Stuttgart), open play, 0.02 xG, saved 90’ Philipp Mwene (Mainz), set piece, 0.02 xG, off target 3’ Nadiem Amiri (Mainz), open play, 0.01 xG, blocked 86’ Anthony Caci (Mainz), open play, 0.53 xG, goal 29’ Nelson Weiper (Mainz), open play, 0.47 xG, goal 3’ Nelson Weiper (Mainz), open play, 0.40 xG, saved 14’ Deniz Undav (Stuttgart), open play, 0.41 xG, off target 79’ Nadiem Amiri (Mainz), open play, 0.38 xG, saved 65’ Andreas Hanche-Olsen (Mainz), from a corner, 0.13 xG, blocked 32’ Deniz Undav (Stuttgart), set piece, 0.12 xG, blocked 68’ Paul Nebel (Mainz), open play, 0.10 xG, blocked 80’ Stefan Bell (Mainz), from a corner, 0.10 xG, off target 90+1’ Ermedin Demirovic (Stuttgart), open play, 0.10 xG, blocked 84’ Fabian Rieder (Stuttgart), open play, 0.07 xG, off target 77’ Andreas Hanche-Olsen (Mainz), from a corner, 0.05 xG, off target 67’ Deniz Undav (Stuttgart), open play, 0.05 xG, saved 67’ Nick Woltemade (Stuttgart), open play, 0.05 xG, off target 27’ Nick Woltemade (Stuttgart), open play, 0.04 xG, saved 90+1’ Ermedin Demirovic (Stuttgart), open play, 0.04 xG, blocked 59’ Paul Nebel (Mainz), open play, 0.02 xG, off target 90+2’ Jamie Leweling (Stuttgart), open play, 0.02 xG, saved 90’ Philipp Mwene (Mainz), set piece, 0.02 xG, off target 9’ Jacob Bruun Larsen (Stuttgart), open play, 0.02 xG, saved 3’ Nadiem Amiri (Mainz), open play, 0.01 xG, blocked
Size shows xG Goal On target Off target or blocked

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

Player stats

PlayerPosMinGAShxGxAKPCards
Robin Zentner GK900 0.000.000
Stefan Bell DEF901 0.100.000
Dominik Kohr DEF780 0.000.000
Danny da Costa DEF690 0.000.000
Anthony Caci MID9011 0.530.101
Philipp Mwene MID901 0.020.011
Nadiem Amiri MID902 0.390.614
Kaishu Sano MID900 0.000.101
Paul Nebel MID9012 0.130.471
Jae-Sung Lee MID900 0.000.021
Nelson Weiper FWD7812 0.880.000
Andreas Hanche-Olsen Sub212 0.180.000
Maxim Leitsch Sub120 0.000.000
Armindo Sieb Sub1210 0.000.912
Silvan Widmer Sub10 0.000.000

Starters first, then substitutes. xA is expected assists.

Before kick-off

Mainz win 29% Avg odds 3.24
Draw 28% Avg odds 3.45
Stuttgart win 43% Avg odds 2.23

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. Results and odds from football-data.co.uk. Referee data before 2025/26 from the Transfermarkt datasets project.