Mainz vs Heidenheim – Match Summary
Mainz 05 secured a vital 2–1 home victory over 1. FC Heidenheim in a tightly contested Bundesliga clash at the Mewa Arena. Despite Heidenheim dominating possession and creating more “Big Chances,” Mainz were far more clinical in front of goal. Captain Silvan Widmer opened the scoring early, and Nadiem Amiri doubled the lead just after the break with a lethal finish. Heidenheim fought back through substitute Stefan Schimmer, but Mainz goalkeeper Daniel Batz and a resilient defense held firm to claim all three points.
Mainz vs Heidenheim – Final Score
Mainz 2–1 Heidenheim
(HT: 1–0)
Goals:
- 30’ — Silvan Widmer (MAI)
- 49’ — Nadiem Amiri (MAI)
- 60’ — Stefan Schimmer (HEI)
Mainz vs Heidenheim – Timeline & Events
- 30’ — ⚽ GOAL! Breakthrough for Mainz! Lee Jae-Sung plays a clever pass to Silvan Widmer, who finds himself unmarked in the box and slots a first-time shot into the bottom corner. (1–0)
- 34’ — 🚑 Injury: Early blow for Mainz as Nikolas Veratschnig is forced off injured. He is replaced by youngster Kacper Potulski.
- 45’ — 🟨 Card: Dominik Kohr is booked for a rough challenge. He will miss the next match due to suspension.
- 49’ — ⚽ GOAL! A stunning start to the second half! Nadiem Amiri unleashes a first-time shot from inside the box that beats Diant Ramaj at his near post. (2–0)
- 60’ — ⚽ GOAL! Game on! Stefan Schimmer, on the pitch for less than a minute, pounces on a rebound after Arijon Ibrahimović’s shot is blocked, rifling it home. (2–1)
- 77’ — 🟨 Card: Benedikt Gimber (Heidenheim) is booked for a nasty tackle and will also miss the next match.
- 81’ — 🧤 SAVE: Incredible stop! Stefan Bell powers a header towards the corner, but Heidenheim keeper Diant Ramaj pulls off a miraculous save to keep his team alive.
- 90+5’ — 🟨 Card: Silvan Widmer is booked for time-wasting as Mainz run down the clock.
First Half Analysis
Mainz started on the front foot but suffered an injury blow to Veratschnig. However, they adapted well, with Silvan Widmer leading by example to score the opener. Heidenheim grew into the game, controlling 58% of the ball, but they lacked a cutting edge. Mikkel Kaufmann missed a glorious volley, and Daniel Batz made a crucial save to deny Marvin Pieringer. The half ended with Mainz ahead, but Dominik Kohr’s yellow card was a sour note for the hosts.
Second Half Analysis
Mainz came flying out of the blocks, doubling their lead through Nadiem Amiri’s clinical strike. Heidenheim manager Frank Schmidt responded with daring substitutions, and it paid off when Stefan Schimmer pulled one back. The final 30 minutes were tense; Heidenheim pushed hard, hitting the post through Ibrahimović (85′), but Mainz dug deep. The game became fragmented with fouls and cards, but the 05ers managed the game professionally to secure the win.
xG Reality Check: Mainz 1.41 | Heidenheim 1.41
- Analysis: A statistical dead heat. Both teams generated exactly 1.41 xG, but the story lies in the “Big Chances.” Heidenheim created 4 Big Chances and missed 3 of them, whereas Mainz converted their opportunities ruthlessly. Heidenheim will feel they deserved a point based on the quality of chances created.
Key Match Factors
- Clinical Finishing: Mainz scored 2 goals from 4 shots on target. Heidenheim needed 6 shots on target and 4 big chances to score just once.
- Impact Subs: Stefan Schimmer (Goal, 7.3 rating) and Adrian Beck (7.6 rating) changed the game for Heidenheim, making them much more dangerous in the second half.
- Goalkeeping Heroics: Daniel Batz made 3 saves to preserve the lead, while Ramaj kept Heidenheim in it with a stunning save in the 81st minute.
- Discipline: The game was physical (21 fouls total). Suspensions for Kohr and Gimber will hurt both teams in the next round.
Player of the Match
🏆 Nadiem Amiri (Mainz)
The heartbeat of the Mainz midfield. He scored the decisive second goal, controlled the tempo when Mainz were ahead, and worked tirelessly defensively.
Mainz vs Heidenheim – Player Ratings
| Mainz | Rating | Heidenheim | Rating |
| Batz | 7.0 | Ramaj | 7.0 |
| da Costa | 6.5 | Traoré | 6.5 |
| Bell | 7.0 | Mainka | 6.5 |
| Kohr | 6.0 | Gimber | 6.0 |
| Widmer | 7.5 | Föhrenbach | 6.5 |
| Amiri (MOTM) | 7.8 | Schöppner | 5.5 |
| Sano | 6.5 | Niehues | 6.0 |
| Lee | 7.5 | Dorsch | 6.5 |
| Veratschnig | 6.0 | Ibrahimović | 7.0 |
| Tietz | 7.0 | Kaufmann | 6.0 |
| Sieb | 6.5 | Pieringer | 6.0 |
| Potulski (Sub) | 7.1 | Beck (Sub) | 7.6 |
| Nebel (Sub) | 6.2 | Schimmer (Sub) | 7.3 |
Mainz vs Heidenheim – Match Stats
| Stat | Mainz | Heidenheim |
| Expected Goals (xG) | 1.41 | 1.41 |
| Possession | 42% | 58% |
| Total Shots | 13 | 15 |
| Shots on Target | 6 | 6 |
| Big Chances | 1 | 4 |
| Corners | 4 | 1 |
| Passes (Accuracy) | 254 (73%) | 375 (76%) |
| Fouls | 11 | 10 |
| Yellow Cards | 2 | 2 |
| Goalkeeper Saves | 3 | 4 |
Top 5 Performers
- Nadiem Amiri (MAI): Scored the winner and drove the team forward.
- Adrian Beck (HEI): Fantastic cameo off the bench (7.6 rating); Heidenheim’s best player despite playing only 30 minutes.
- Silvan Widmer (MAI): A captain’s goal and solid defensive shift.
- Stefan Schimmer (HEI): Immediate impact with a goal off the bench.
- Lee Jae-Sung (MAI): Provided the assist for the opener and linked play beautifully.
Underperformers / Weak Links
- Jan Schöppner (HEI): Struggled to impose himself in midfield and was subbed off at halftime (Rating: 5.8).
- Sirlord Conteh (HEI): Came on at halftime but failed to make a significant impact (Rating: 5.8).
Substitutions Impact
- Stefan Schimmer (HEI): Replaced Kaufmann (59′) – Rating: 7.3. Scored within a minute.
- Adrian Beck (HEI): Replaced Pieringer (59′) – Rating: 7.6. Completely revitalized Heidenheim’s attack.
- Kacper Potulski (MAI): Replaced Veratschnig (34′) – Rating: 7.1. Very solid performance from the youngster in an unexpected appearance.
Tactical Breakdown
- Mainz (3-4-2-1):
- Counter-Punching: Accepted less possession (42%) but transitioned quickly through Amiri and Lee.
- Low Block Resilience: Defended deep in the final 20 minutes, blocking 5 shots to protect the lead.
- Heidenheim (4-2-3-1):
- Wasteful Dominance: Controlled the ball and created chances but failed to convert 3 of their 4 “Big Chances.”
- Wide Overloads: Used Traoré and Föhrenbach to put crosses in, but Mainz’s center-backs dealt with the aerial threat well.
What This Result Means
- Mainz 05: Crucial 3 points that move them further away from the relegation zone.
- Heidenheim: A frustrating defeat. They played well enough to draw but were punished for poor finishing.
Mainz vs Heidenheim – FAQs
Q: Who won the Mainz vs Heidenheim match?
A: Mainz won 2–1.
Q: Who scored the goals?
A: Widmer and Amiri for Mainz; Schimmer for Heidenheim.
Q: Why was Dominik Kohr booked?
A: For a rough tackle in the 45th minute. He is suspended for the next match.
Q: Who was the Man of the Match?
A: Nadiem Amiri (Mainz).
Call to Action — SportsphereArena Community
Heidenheim created 4 big chances but lost. Is their finishing a worry for the rest of the season?
Let us know in the comments below!
Read more:-
14/1/2026 Match Reports
Mainz vs Heidenheim – Match Report
Deportivo vs Atlético Madrid – Match Report
Borussia Dortmund vs Werder Bremen – Match Report
AS Roma vs Torino – Match Report
Newcastle vs Manchester City – Match Report
Official website











3 thoughts on “Mainz 2–1 Heidenheim: Bundesliga Match Report & Highlights”