Bundesliga· Season 2025
Borussia Mönchengladbach hammered Hoffenheim 4-0 on Bundesliga's final day to deny the visitors a top-four finish. Bolin, Tabaković, Diks and Hack scored.
Match Videos
Match Summary
Borussia Mönchengladbach defeated 1899 Hoffenheim 4:0. The match was played in Bundesliga 2025. Goals were scored by H. Bolin 14′, H. Tabaković 23′, K. Diks 81′, R. Hack 90′. 10 yellow cards were shown, 1 red card. Borussia Mönchengladbach had 44% possession while 1899 Hoffenheim held 56%. Borussia Mönchengladbach had 9 shots (6 on target) compared to 11 (3 on target) for 1899 Hoffenheim. Expected goals: Borussia Mönchengladbach 1.20 — 1899 Hoffenheim 1.62. Borussia Mönchengladbach made 5 substitutions, 1899 Hoffenheim made 5. VAR was involved: Goal cancelled (P. Sander 65′).
Match Analysis
AI SummaryWhat the result meant
Hoffenheim arrived in Mönchengladbach knowing only a win would keep their Champions League hopes alive. Sitting fifth heading into Matchday 34, they trailed fourth-placed VfB Stuttgart by a single point. A victory would have leapfrogged them into the top four.
Instead, defeat left them stranded on 61 points, with Stuttgart's 62-point tally enough to secure the final Champions League spot. For Gladbach, already guaranteed a mid-table finish in 12th place, this was about ending a mixed season on a high — and they delivered emphatically.
First half: Clinical Gladbach strike twice
Hoffenheim started brightly, creating the first clear chance of the match in the seventh minute when Andrej Kramarić found space in the box after a fine ball from Fisnik Asllani, only for Moritz Nicolas to save with his feet.
But against the run of play, Gladbach struck first. In the 14th minute, Philipp Sander launched a long throw into the Hoffenheim box. The visitors cleared only partially, and Wael Mohya chested the ball down for Hugo Bolin, whose sharp snap-shot caught Oliver Baumann off guard and nestled into the bottom corner — Bolin's maiden Bundesliga goal for the club.
Gladbach doubled their lead in the 23rd minute, and there was a poetic twist: the goal came from Haris Tabaković — a Hoffenheim loanee. Yannik Engelhardt delivered a low cross into the area, Mohya swung and missed, but the ball fell perfectly for the Swiss striker, who finished emphatically past Baumann. He chose not to celebrate against his parent club, but the message was clear.
Second half: Lemperle sees red, Gladbach run riot
The second half began in disastrous fashion for Hoffenheim. Just five seconds after the restart, Tim Lemperle — already on a yellow card — pressed high and fouled Kevin Diks, earning a second booking and reducing the visitors to ten men.
Gladbach thought they had a third in the 64th minute when Tabaković slotted home again, but VAR intervened, ruling him offside in the build-up. The decision only delayed the inevitable.
Kevin Diks put the result beyond doubt in the 81st minute with a stunning strike from distance. Picking up a pass from Nico Elvedi, the Dutch full-back unleashed a powerful shot that flew past Baumann and into the top corner — a goal worthy of deciding any contest.
Robin Hack completed the rout in the first minute of stoppage time, dispossessing Leon Avdullahu before racing through on goal and calmly sliding the ball under Baumann for his first Bundesliga goal of the campaign.
Key stats
- Possession: Gladbach 44% — 56% Hoffenheim
- Shots: Gladbach 9 (6 on target) — Hoffenheim 11 (3 on target)
- Expected Goals (xG): Gladbach 1.20 — Hoffenheim 1.62
- Corners: Gladbach 2 — Hoffenheim 9
- Yellow cards: 10 across both sides; Red cards: 1 (Lemperle, Hoffenheim)
Man of the Match: Haris Tabaković
The Hoffenheim loanee was voted Man of the Match with 44% of the vote. He scored Gladbach's crucial second goal, led the team in shots, and was a constant physical presence, winning fouls and holding up play effectively against the club that owns his registration.
The bigger picture
For Hoffenheim, this defeat caps a season that promised more. Having pushed for a Champions League return for the first time since 2018/19, they came up just short — losing on the final day to a Gladbach side that had little to play for but pride.
Gladbach, meanwhile, finished 12th with 38 points — a mid-table consolidation after recent struggles. The seven-game unbeaten run at Borussia-Park to close the season offers a foundation for new head coach [head coach name] to build on ahead of 2026/27.
What's next?
Hoffenheim will enter the group stage of the UEFA Europa League after finishing fifth. Gladbach head into the summer break looking to strengthen ahead of another Bundesliga campaign, with the hope that performances like this can become the norm rather than the exception.
Match Events
Key match events between Borussia Mönchengladbach and 1899 Hoffenheim — 4 goals and 11 cards recorded during the match.
assist: N. Elvedi
assist: N. Elvedi
Match Statistics
Borussia Mönchengladbach had 44% possession against 1899 Hoffenheim's 56%. Borussia Mönchengladbach registered 9 shots (6 on target) while 1899 Hoffenheim managed 11 (3 on target). Corner kicks: 2–9. Fouls committed: 11–15.
Rivalry since 2010
Borussia Mönchengladbach vs 1899 Hoffenheim Head to Head Results· 31
Borussia Mönchengladbach and 1899 Hoffenheim have met 31 times — Borussia Mönchengladbach won 12, 1899 Hoffenheim won 9, with 10 draws. Their rivalry dates back to 2010. Borussia Mönchengladbach leads the head-to-head with 12 victories from 31 meetings. A combined 121 goals have been scored across these fixtures, averaging 3.90 per match (67 for the home side, 54 for the visitors). Both teams scored in 26 matches (84%). Over 2.5 goals landed in 24 games (77%), making it a fixture that tends to produce goals. The highest-scoring encounter finished 4–4 in 2025.
Recent Meetings
Recent Form
In their last 6 matches, Borussia Mönchengladbach have recorded 2 wins, 2 draws and 2 defeats. 1899 Hoffenheim show 3 wins, 2 draws and 1 loss from their last 6 outings.
Betting Odds & Historical Data
Opening pre-match odds recorded for this fixture at the time it was played. These are historical figures for analytical reference only and do not reflect any current market.
Historical data only — not for betting
This data is sourced from football-data.co.uk and covers historical match results and pre-match odds. These figures do not represent current or live odds and cannot be used for placing bets. Betting is not possible on this website. Provided for analytical and research purposes only.
Goals in This Fixture
How many goals these two teams typically produce when they meet, based on their historical encounters.
4.8
Average goals per game
90%
Games with 3+ goals
90%
Both teams scored
Head-to-Head Record
Borussia Mönchengladbach dominatesHistorical results between these two teams — showing who has dominated this fixture and whether the current odds reflect that pattern.
Potential Betting Value Detected
Historical win rate (80%) differs significantly from the market-implied probability (22%) — the odds may underestimate Borussia Mönchengladbach.
Historical results between these two teams. Bold odds show which outcome was backed by the market — compare against the actual result to assess predictability of this fixture over time.
Market Summary
Margin: 5.2%Implied win probabilities calculated from pre-match odds across multiple sources. A higher percentage means the market considered that outcome more likely. Compare these against your own assessment to spot potential value.
Implied Probability
Odds Range
| 1 | X | 2 | |
|---|---|---|---|
| Min | 4.33 | 4.50 | 1.67 |
| Max | 4.33 | 4.50 | 1.67 |
Result vs. Market
Result differed from market prediction
Match Statistics
Actual in-game statistics recorded for this match. Shots on target is a strong indicator of attacking pressure and correlates well with expected goals.
Home Record / Away Record
Aggregated season statistics from all available historical data. Use these to assess each team's overall form, scoring frequency, and tendency for high-scoring matches.
Home Record: Borussia Mönchengladbach
Away Record: 1899 Hoffenheim
Data: football-data.co.uk
Statistics are for informational purposes only. Past performance does not guarantee future results.
API data: 11 Jun 2026

