Nothing more will happen in this game as the referee blows for full time.
90+3'
Gooool!
Jean-Philippe Mateta (Mainz) with a wonderful piece of finishing. He makes a yard for himself after a well-taken pass inside the box and nets into the bottom right corner.
90+2'
Andrej Kramaric (Hoffenheim) sends a cross into the box, but Robin Zentner comes off his line to gather the ball.
90+1'
Yellow Card
The game is interrupted because of a yellow card that is shown to Jean-Paul Boetius (Mainz).
90'
Info
The fourth official shows 6 min. of added time.
89'
Gooool!
Goal! Jean-Paul Boetius (Mainz) collects a pass and without hesitation fires an unstoppable shot into the bottom right corner.
89'
Corner Kick
Alexandru Maxim (Mainz) goes over to take the corner kick and it looks like he will swing the ball into the penalty box.
88'
Corner Kick
Hoffenheim have a chance to score from a corner kick, but the ball is cleared by a defender.
87'
Andrej Kramaric (Hoffenheim) stands over the free kick and opts to take it himself, sending the ball towards the bottom right corner only for Robin Zentner to dive and make a save. Hoffenheim force a corner. They send men into the box.
86'
An opponent rises to his feet after being downed by Niko Bungert (Mainz). Deniz Aytekin saw the sliding tackle and blows for a foul. Hoffenheim win a free kick. It's a promising situation for a direct shot.
85'
Сhange
Julian Nagelsmann has decided to make a change. Reiss Nelson (Hoffenheim) replaces Joshua Brenet.
83'
Gooool!
The ball rebounds and arrives at the feet of Jean-Paul Boetius (Mainz) just outside the box. He doesn't think twice and fires a brilliant shot inside the right post. His attempt was beyond the reach of Oliver Baumann, so the score changes to 2:2.
81'
Corner Kick
Mainz work the corner short. The ball is passed to a nearby teammate.
80'
Сhange
Levin Oztunali (Mainz) joins the action as a substitute, replacing Danny Latza.
80'
Info
The attendance for today's match is 28305.
76'
The referee looks satisfied after his VAR review and duly disallows the goal for handball!
76'
Referee Deniz Aytekin makes the VAR signal and is going to check whether the goal can stand. Let’s see what happens!
75'
Gooool!
Jean-Paul Boetius (Mainz) receives a well-taken defence-splitting pass inside the box and scores! He buries the ball into the bottom left corner.
74'
Karim Onisiwo (Mainz) sends a lofted cross into the penalty area. Unfortunately for him, the opponent's defence deals with his cross comfortably and intercepts it.
71'
Mainz seem to be finding their feet as they enjoy some possession. Great movement by the offensive players allows the defenders to set up the attack.
68'
What a chance that is! Adam Szalai (Hoffenheim) finds himself in a promising position after receiving a pass on the edge of the box. His attempt goes just over the bar.
66'
Сhange
The substitution has been made. Lukas Rupp (Hoffenheim) has replaced Joelinton.
65'
Gooool!
Daniel Brosinski (Mainz) beats the goalkeeper with a precise penalty kick.
65'
Daniel Brosinski (Mainz) is going to take the penalty!
65'
Info
Referee Deniz Aytekin is happy with his original decision after the VAR review. It’s a PENALTY to Mainz!
64'
Referee Deniz Aytekin gets a signal in his ear and goes over to the VAR monitor to check whether it’s a penalty!
63'
One of the Mainz players is in on goal but gets upended by the defender in the box. That could be a penalty, but the ref says NO! Play continues.
61'
Corner Kick
The resulting set piece from Mainz is comfortably intercepted by one of the defending players.
61'
Aaron Caricol (Mainz) receives a precise pass in the box and takes the shot early. The ball heads towards the bottom left corner, but Oliver Baumann shows off his skills and makes a brilliant save to deny him. The ball goes behind for a corner. Mainz will have an opportunity to threaten the opposition's goal.
60'
Corner Kick
The resulting corner from Aaron Caricol (Mainz) comes to nothing.
60'
Jean-Philippe Gbamin (Mainz) attempts to send over a cross in order to find one of his teammates, but an opposition defender averts the danger by intercepting the effort. Mainz will take a corner kick.
59'
What a chance that is! Alexandru Maxim (Mainz) finds himself unmarked in a promising position after receiving a cross on the edge of the box and his attempt sails a whisker wide of the left post.
58'
Yellow Card
Deniz Aytekin shows a yellow card to Kevin Vogt (Hoffenheim), who isn't surprised as the tackle was really hard and late.
57'
Corner Kick
Mainz have a chance to score from a corner kick, but the ball is cleared by a defender.
57'
Danny Latza (Mainz) does well to control a poor pass on the edge of the box then shoots low towards the middle of the goal. Oliver Baumann is out of position but leaps to make a brilliant save. Corner kick. Mainz will have an opportunity.
56'
Сhange
Here comes a substitution. Pierre Kunde Malong is given a rest as he is replaced by Alexandru Maxim (Mainz).
56'
Сhange
Sandro Schwarz has decided to introduce fresh legs, with Karim Onisiwo (Mainz) replacing Anthony Ujah.
53'
Long passes, short passes and one-two passes. Mainz are showcasing great team work by keeping possession and producing pin-point passes from player to player. The opposition's players are finding it very difficult to intercept at the moment.
47'
Corner Kick
Kerem Demirbay (Hoffenheim) swings in the corner, but fails to find any of his teammates. One of the defenders reacts superbly to get it clear.
47'
Another attempt to send the ball beyond the defence by Nico Schulz (Hoffenheim) is thwarted and cleared to safety. The ball goes out of play and Hoffenheim have been awarded a corner kick.
45'
Whistle
The half-time break is over and the second half is about to start.
45+2'
Whistle
The first half of today's match has just finished.
45+0'
Corner Kick
Hoffenheim take the corner, but their hopes of scoring a goal end with a nice clearance by the defence.
45'
Info
2 min. of stoppage-time to be played.
44'
Danny Latza (Mainz) deprives his opponent of the ball, but the referee blows his whistle for a foul. He's not happy with the decision! Hoffenheim have a free kick.
42'
Deniz Aytekin blows his whistle and signals a foul after Jean-Paul Boetius (Mainz) brought his opponent down.
40'
Second Yellow Card
Chistoph Baumgartner (Hoffenheim) makes a bad challenge and is given a second yellow card which means he's off.
40'
Chistoph Baumgartner (Hoffenheim) whips the ball in, but it fails to reach any of his teammates as the opposition's defence averts the threat.
36'
Jean-Philippe Mateta (Mainz) gets to the rebound and shoots, but the effort is blocked.
34'
Gooool!
Andrej Kramaric (Hoffenheim) shows what an intelligent of a player he is after hitting a low shot from a free kick that goes under the defensive wall and into the bottom left corner!
33'
Hoffenheim are awarded a free kick from a dangerous position.
32'
Yellow Card
Pierre Kunde Malong (Mainz) sees a yellow card from Deniz Aytekin after he sent one of the opposing players to the ground.
31'
Сhange
The referee stops play so that a substitution can be made and Adam Szalai (Hoffenheim) is coming onto the pitch as Ishak Belfodil cannot continue after picking up an injury.
30'
A long ball forward to Andrej Kramaric (Hoffenheim) is intercepted.
26'
Mainz are showing great team chemistry. They are passing it around beautifully. Excellent team work.
23'
Corner Kick
The corner from Kerem Demirbay (Hoffenheim) is hurriedly cleared.
22'
Yellow Card
Caution goes to Joelinton (Hoffenheim).
21'
Corner Kick
The resulting set piece from Mainz is comfortably intercepted by one of the defending players.
20'
Pierre Kunde Malong (Mainz) reacts well to get to the rebound and takes a shot from the edge of the box, but he fails to get the ball through the players standing between him and the goal. Mainz win a corner.
20'
Corner Kick
Mainz didn't take advantage of the corner and score as the opposition's defence was alert and averted the threat.
19'
Jean-Philippe Mateta (Mainz) receives a great pass inside the box and misses a golden chance. The goalkeeper pulls off a stunning save.
18'
Yellow Card
A yellow card for a tackle by Chistoph Baumgartner (Hoffenheim). Deniz Aytekin doesn't hesitate at all to make this decision.
17'
Joshua Brenet (Hoffenheim) once again attempts to send a defence-splitting pass, but the opposition's defence is alert and intercepts the ball. The ball is behind the touchline and Hoffenheim will take a throw-in.
14'
Daniel Brosinski (Mainz) attempts to find the head of one of his teammates with a promising cross into the box, but a defender outjumps the attackers and averts the threat.
12'
Gooool!
Ishak Belfodil (Hoffenheim) collects a good pass and slams the ball from mid-range into the top right corner, giving the goalkeeper no chance.
10'
A sweet pass inside the box gives Jean-Philippe Mateta (Mainz) time to measure a shot, but it's slightly mishit and goes just wide of the right post. That really was a great chance!
8'
Moussa Niakhate (Mainz) should know this behaviour is beyond the rules. He was too careless with his challenge and left Deniz Aytekin no option but to blow his whistle. Hoffenheim earn a free kick which could lead to a goal-scoring opportunity.
7'
Ishak Belfodil (Hoffenheim) tries to latch onto a through ball, but it's too long. The ball is out of play. Mainz will take a throw-in.
5'
Corner Kick
A corner kick by Hoffenheim is thwarted by the well prepared Robin Zentner (Mainz).
5'
Nico Schulz (Hoffenheim) is first to the rebound but his shot is blocked. Wow, what an escape there for the opposition. It will be a corner kick for Hoffenheim.
3'
Wonderful movement by Hoffenheim. The players are holding possession, mostly exchanging one-touch passes. They control the pace of the game now.
1'
Corner Kick
Hoffenheim have a chance to score from a corner kick, but the ball is cleared by a defender.
Whistle
The first half of this match is about to start.
Welcome to our live text commentary, ladies and gentleman! The starting lineups will be announced very soon, so just sit back and get ready to enjoy the action.
The referee of today's match will be Deniz Aytekin.