What a win for Mainz! They quite simply brushed this talented Gladbach team aside with their intensity.
What a moment for Weiper!
The 17-year-old has struck his first goal for Mainz to seal a huge win! Aaron Martin plays in a sharp cross and Weiper sinks it straight in with a clinical header. He is Mainz's youngest ever scorer in the Bundesliga!
Three minutes of stoppage time indicated
Then the Mainz fans can celebrate a superb win for their side.
Speed check: The fastest player in the game after 90 minutes
Weiper goal disallowed
The teenage substitute put the ball in with a crisp finish but was flagged offside.
A great drive from Barkok - flashing just wide from well outside the box - as Mainz continue to attack.
Widmer whacks well over
The Mainz man takes aim from 30 metres out. The effort takes a deflection before flying over. Mainz are looking the more likely side to score again.
Teen striker on
Nelson Weiper, aged just 17, replaces goalscorer Ajorque. Martin also comes on for Caci.
That was the ninth yellow card of the season for the battling Gladbach midfielder - for a challenge on Barreiros.
Daniel Farke is trying to mix things up with three substitutions, but there is little time for them to claw back a three-goal deficit.
An effort from the edge of the box gets deflected behind.
The visitors are still seeking the pass the ball into decent spots, but continue to struggle with Mainz's pressing - the story of the night.
Possession of what?
Ajorque opens his account in style!
Mainz's French attacker, who signed in January, scores his first goal for the club! Lee holds up the play really well on the left and plays it forward for Ajorque to chase. He checks inside and slots past Sippel nicely from a tight angle. That has to have sealed it!
Zentner denies Thuram
Almost an instant impact from the France international attacker! He breaks through on goal, meeting a fine ball hoisted forward from Kramer, and takes aim but Zentner rushed out well and stopped the effort with his leg.
© IMAGO/Patrick Scheiber/IMAGO/Jan Huebner
Here he is
Marcus Thuram is brought on for the final 24 minutes. Can Gladbach's top scorer this season inspire them to an unlikely comeback?
A good move from Mainz sees Da Costa drag the ball box for Kohr, who is lurking in a good position from the edge of the box - but doesn't get enough on his shot to trouble Sippel.
Gladbach upping the pressure
Hofmann clips a free-kick into the box that is headed behind for a corner. Nothing results from that, but bit-by-bit the visitors seem to be gaining the upper hand as they try to close down the two-goal deficit.
Defensive change for Mainz
Hanche-Olsen took a blow to his knee in a challenge with Bensebaini and is replaced by Hack.
Mainz putting in the miles
Distance run (km)
Wolf effort saved
Gladbach have to react, and they go forward looking for a goal back. Wolf cracks a shot from the edge of the box, but it is close to Zentner and the Mainz keeper saves comfortably.
Ingvartsen is there!
The hosts double their lead! The second goal comes in the same way as the first - with Mainz pressing the Gladbach backline as they try to pass it out of the back. Ajorque ends up having a shot as Mainz win it, and Omlin can only tip the ball to Ingvartsen, who gladly turns it in at the far post!
The smoke has cleared enough to continue.
Some pyrotechnics have made it all a bit foggy out on the pitch, so the referee has paused the play.
The hosts kick off. They'll be delighted with a win tonight, but let's see whether Gladbach can find a way back.
Half-time: Mainz 1-0 Gladbach
Bo Svensson will be happy with the first half. Mainz have got into Gladbach's faces and forced their way in front - thanks also to Lee's dependable finishing. Daniel Farke has a few things to chew over with the visitors trying to take the game to Mainz but struggling to trouble their defence.
A decent enough effort from Kohr as the ball falls out to him a good 25 metres out of goal. Not a bad connection in full stride but it spins up and is well over in the end.
A good spell from Gladbach at the end of the half. Kone has an effort from the edge of the box but it flies well off-target.
Hofmann into the wall
Stindl was fouled to give the visitors a free-kick in a promising position around 20 metres out. Up stepped Hofmann to smash it straight into the wall.
Five minutes of stoppage time indicated
No time to pause yet in this one.
Little change since the goal
Tactically, the game is following the same pattern as before Lee's opener. Gladbach are trying to combine their way through the Mainz defence, with little to show for their efforts, while Mainz look a bit more threatening with their smash and grab pressing methods.
Ingvartsen snaps wide
Another opening for the hosts. Zentner hits a deep goal-kick, and a couple of headers later, the Dane is sent behind the defence. He hits a quick shot but it flies well wide.
Hofmann to Plea
Gladbach have a chance to thread together something on the break. Hofmann hits it forward to Plea on the edge of the box, but he has to take a couple of steps back and the momentum is out of the move.
Ajorque almost with a second
The ball flies around the Gladbach area for a few seconds. It falls to Ajorque, who pokes it at sub keeper Sippel and then sends it wide - a decent opportunity for the hosts.
© Lukas Schulze/Getty Images
The Gladbach goalkeeper went down and was checked by the medical staff - he seemed to have pulled something trying to save Lee's header, and on comes Sippel as a substitute goalkeeper.
Speed check: The fastest player in the game after 30 minutes
Lee heads in!
The in-form Korean scores his fifth in his past six games to put the hosts in front with a smashing header! Great work in the build-up from da Costa, who seized possession from Elvedi straight after Omlin passed the ball out to him on the left, pinged in the cross and Lee applied the polished headed finish. 1-0 to Mainz!
0 off target
0 on target
3 off target
0 on target
The best chance yet...Lainer turns a cross in from the right that falls out to Kone. He shoots from a good position in the box but Barreiro and Olsen both throw themselves at it, and the former pulls off a superb defensive stop.
They are yet to fashion a chance, but the way that Mainz are pressing into Gladbach at every opportunity should give their fans plenty of hope. It's very difficult to see which way this game might be going - it's been a very even affair!
© IMAGO/HMB Media/Claus/IMAGO/HMB-Media
Tactical battle lines drawn
Plea floats a cross in from the right that gets played back and across the edge of the box. Hofmann has a chance to shoot from distance, but it's blocked.
Stindl sends it wide
We have our first shot. Mainz pinged a couple of balls forward in a sign of a bit of attacking intent. That gave Gladbach space to break in, and Stindl fizzed a shot wide from outside the box.
Gladbach keeping the ball well
Most neutrals might have fancied Mainz's home advantage to give them the edge tonight (given the equal overall record), but Gladbach have looked comfortable and confident with plenty of early possession. No chances yet for either side though.
Here we go!
Visitors Gladbach kick off the Bundesliga's Matchday 22 under the lights in Mainz.
The house is rocking
You'll Never Walk Alone has just been blurted out by a packed stadium - it's the end of Carnival week in Cologne and the players are about to enter!
Nothing between them
Gladbach and Mainz both start the tie on 29 points, in eighth and ninth respectively, and with an identical record of results (W8, D5, L8). The visitors have a slightly better goal difference (+3 v -1).
More on those teams
Bo Svensson picks Ingvartsen and Ajorque up front as he shuffles his front three despite a 3-2 win in Leverkusen last weekend (Ingvartsen scored from the bench). Onisiwo is out of the squad. Daniel Farke keeps his faith with Plea in attack despite expectations Thuram might come back into the starting XI (having come off the bench and scored in their 3-2 win over Bayern).
Mainz starting XI
Zentner (c) - Hanche-Olsen, Bell, Fernandes - da Costa, Barreiro, Kohr, Caci - Lee - Ingvartsen, Ajorque
Dahmen, Aaron, Hack, Leitsch, Widmer, Barkok, Burgzorg, Weiper
Gladbach starting XI
Omlin - Lainer, Itakura, Elvedi, Bensebaini - Kramer, Kone - Hofmann, Stindl (c), Wolf - Plea
Sippel, Friedrich, Netz, Scally, Fraulo, Neuhaus, Ngoumou, Herrmann, Thuram
Here's what visiting coach Daniel Farke had to say about tonight's challenge: "Mainz are one of the most intense teams in the League. No other team has made more sprints in possession and they always do extremely well in all running metrics. We have to accept this way of playing and work against it and be on it. It will definitely be a very different game tactically."
"More stable ..."
Bo Svensson bigged up his players after their two latest triumphs and the Danish tactician is keen for more of that same Mainz spirit tonight. “The team have become more stable and have played more consistently," he said. "That was the case in both [recent] games and actually even in the ones before that. We hope to see more of that [against Gladbach].”
Big night ahead
With both teams locked on 29 points and having chalked up respective victories on Matchday 21, tonight's Bundesliga weekend opener looks set to be a barnstormer. Stick with us for all the latest from both camps as we count down to kick off.
Watch: Get ready for Mainz vs. Gladbach!
Here you can find all the information about 1. FSV Mainz 05 against Borussia M'gladbach on matchday 22.