Only two points separated Mainz 05 and Schalke 04 in the Bundesliga and there was nothing to choose between them on the pitch as the game ended 2-2.
Mainz did create more opportunities but were pegged back twice by Michel Bastos; in the first half the Brazilian levelled after Andreas Ivanschitz opened the scoring before netting again in the second half to cancel out Zdenek Pospech's goal.
After that neither side were able to grab the winner and both had to settle for a well-earned point.
Read below how the action unfolded with our live text commentary.
Hello and thanks for joining us this afternoon for what promises to be an intriguing Bundesliga clash between Mainz and Schalke.
Mainz have been impressive all season and currently occupy a Europa League spot. Schalke, two points behind today's visitors, have been very poor as of late and are in danger of slipping out of Europe altogether having been in this season's Champions League.
Without further ado, I'll get to the teams.
SCHALKE XI: Hildebrand; Hoger, Howedes, Matip, Fuchs; Jones, Neustadter; Draxler, Raffael, Bastos; Farfan
Schalke subs: Fahrmann, Metzelder, Kolasinac, Barnetta, Meyer, Edu, Pukki
MAINZ XI: Wetklo; Noveski, Svensson, Pospech, Diaz; Zimling, Baumgartlinger; Soto, Ivanschitz, Muller; Szalai
Mainz subs: Muller, Zabavnik, Bell, Risse, Ede, Caliguiri, Malli
For Mainz, Hungarian striker Adam Szalai has been on fire this season and is a huge part of their success. He has chipped in with 12 goals and two assists so far and Schalke will need to keep the 25-year-old quiet if they are to have joy tonight.
In the absence of Klaas-Jan Huntelaar, Schalke are really lacking that target up front. Jefferson Farfan is up top this afternoon, but he is far more useful on the wing as his five assists suggest. He does have five goals, but just is not as reliable up there as Szalai.
However, even without Farfan out wide Schalke are threatening, with Michel Bastos on the left and the impressive Julian Draxler on the right, who has four goals to his name.
I think this one is too close to call. My head is telling me to back Mainz, who are on better form, but if Schalke click they should win.
The bookies clearly feel the same way. Mainz are ever so slight favourites and can be found at 7/4 as your best bet. Schalke are slightly further back at around 5/2 while a draw is roughly 2/1.
We're almost ready for kickoff. They players are out.
We're underway, Mainz kick us off.
It's good, early passing from the hosts but the away defence is standing firm up to now. Mainz are looking to go down the left flank with Soto as often as possible.
Now Schalke are feeling their way into the game. Draxler looking dangerous on the right, but Mainz too defending solidly in the opening exchanges.
Raffael fouls Ivanschitz, who had broken away from the Brazilian. Mainz play it back and then forward from the free-kick and win a corner thanks to Ivanschitz.
CHANCE! How has that not gone in from the corner? Svensson works Hildebrand with a header and then Noveski puts the rebound wide! Huge chance that.
CHANCE! How has that not gone in from the corner? Noveski works Hildebrand with a header and then Mainz somehow put the rebound wide! Huge chance that.
Michel Bastos gets Schalke's first effort at goal. A header from deep in the box off Draxler's cross goes harmlessly high and wide.
Schalke are looking more nervy at the back now. Hildebrand is put under pressure with a poor backpass and he follows suit to slice into the stands. Mainz well on top now.
Farfan comes deep to try to get involved. He sets Draxler away and Schalke win a corner of their own. Mainz clear but cannot break.
Baumgartlinger fouls Farfan and Schalke have a free kick from some range. Fuchs lines it up and clips into the box, but it's straight at Wetklo.
Schalke are probably edging this now in terms of possession. They look more comfortable than earlier in the game and are keeping it nicely between midfield and defence.
Bastos goes down in the box, a little too easily for my liking under pressure from Svensson, but rightly nothing is given.
The hosts have a free kikc here in a dangerous spot as Ivanschitz is taken out by Howedes less than 25 yards from goal.
Ivanschitz takes it himself and tries to curl it into the corner, but it started too far wide of the left-hand post and doesn't trouble Hildebrand.
It's all a bit stop-start so far. One decent chance for each side, but too many niggly fouls and it's been unable to flow so far.
Bastos wraps his left foot around a free kick but it's well defended at the near post. A bit of a scramble ensues but Mainz manage to hack clear and Schalke go back to Hildebrand.
CHANCE! Bastos, who has moved to the right flank clips in a cross but Neustadter diverts it over the bar.
GOAL! Mainz 1-0 Schalke (Ivanschitz)
It's a simple goal really. Muller does really well to work space on the right and crosses low into the box where Ivanschitz turns it past the goalkeeper. Mainz deserve that.
Now Mainz are well on top. Ivanshitz tries to combine with Szalai but the ball goes out for a goal kick.
Soto is down for Mainz after an innocuous looking challenge. He should be alright to continue, though.
Schalke are dangerously close to dropping out of European contention entirely here. They are not creating anything at all and instead it's Mainz who look most likely to make it 2-0.
There's no real urgency from the visitors at the moment, almost as if they are happy to only be a goal down. Again another move breaks down as they near the Mainz third, but Matip is brought down as Mainz look to break, getting Schalke back on the ball.
Wetklo is forced into action for the first time this afternoon as a Farfan cross is hit deep and clawed from under his own bar by the Mainz goalkeeper. The next corner is claimed emphatically.
Schalke look to break from a Mainz corner but Svensson is in really well to pip the ball from Bastos and get the hosts back in possession. They have been comfortable so far, Mainz, and Schalke have been toothless.
GOAL! Mainz 1-1 Schalke (Bastos)
Just as I say that... A shot from range is parried by Wetklo and the rebound is cut across goal by Raffael and turned in by Bastos from two yards. I feel Wetklo should have pushed it away from danger.
There's handbags now as Fuchs goes in hard and gives away a foul. The referee remains calm and in the end it's just a free kick, which the goalscorer Ivanschitz will take.
Wetklo again is unconvincing as he parries a Bastos cross back to Schalke, from which they give away a goal kick. Schalke are finishing this strongly, as one minute is to be added.
Noveski hacks away a long ball for a late Schalke corner. Farfan steps up to take it but Mainz clear.
HALF-TIME: Mainz 1-1 Schalke
For much of that half Schalke were second best. However, they scored near the end of the half against the run of play and will be far happier with the scoreline at the break.
Mainz will be disappointed that they don't have their deserved lead at the break, but in fairness despite being on top they created few other chances. More than Schalke, yes, but they too will need to be more clinical if they are to win this.
I don't expect any changes at the break from either manager, but after about 20 minutes if they've been unable to score then this one will be there for the taking.
The players are emerging for the second half, so not long now until the restart. It's very nicely poised; Schalke will feel that they can get away with a result here.
I can't see many more goals in this one, so it could go 2-1 either way. Most likely Mainz but last time I said that Schalke equalised so what do I know?
Schalke get us underway.
YELLOW CARD! Svensson becomes the first player booked for a mistimed sliding tackle on Farfan. Perfectly fair, that.
Schalke have shaded the early exchanges in this half. Bastos attempts a volleyed cross but it's headed clear. No chances as yet in the second half.
Farfan's natural style brings him out wide regularly, which often leaves no-one in the box for a cross. Bastos is floating about, but they're definitely lacking a focal point.
Schalke are now on top with crisp passing and neat possession. Bastos nutmegs Noveski but his cross cannot pick out the only player in the box, Farfan.
Good passing from Schalke between Farfan and Neustadter finds Draler on the overlap, but his low cross is cleared and Mainz survive. Still not many genuine efforts on goal in this one.
CHANCE! Big chance for Schalke. A cross comes in and the ball ricochets kindly for Farfan, but he leaves it for the onrushing Draxler whose effort is beaten away by Wetklo. Good save, but he probably should have done better with the chance.
CHANCE! Straight at the other end, Diaz picks out Muller with a ball across the edge of the box. He cuts inside and lashes an effort well wide from the edge of the area.
It's becoming more lively now this one. Raffael is stopped but a neat tackle from Pospech and at the other end Diaz shoots from 40 plus yards but it's well wide. Very selfish there from the Mainz winger.
YELLOW CARD! Matip of Schalke is the next player booked for catching Baumgartlinger late.
CHANCE! Mainz win a corner: Ivanschitz finds Soto, who shapes to shoot but instead lays it to Diaz, whose cross is blocked. From the set piece Soto is played through by Baumgartlinger over the top but scoops over from six yards! Oh dear
GOAL! Mainz 2-1 Schalke (Pospech)
That is a really good goal for the hosts. Ivanschitz threads through a gap in the defence to Pospech, who drills into the bottom corner from the right side of the box. Really well worked goal and Soto's miss proves not too costly.
YELLOW CARD! Now Mainz are coming forward at will. Fuchs is the next player into the box for bringing down Zimling. Free kick in quite a dangerous spot. From it, the header comes in from Svensson but it goes wide.
The goal has deflated Schalke, who are now sitting back and inviting Mainz to pass it around comfortably.
CHANCE! Soto should score again! He does the hard part, taking it past Howedes, but goes for goal with the outside of his boot and puts it wide. He just needed to slot it in but went for the spectacular.
This is end-to-end now. Schalke break in numbers but the final pass is well cut out before Szalai finds himself unable to work space for a shot at the other end.
SCHALKE SUBSTITUTION: Max Mayer comes on for Raffael.
Now Schalke are doing a slightly better job of putting their hosts under a bit of pressure. They are harassing the defence and goalkeeper and winning tackles too.
A Fuchs cross towards Farfan is cut out and Mainz break from it. However, no space opens up and they go back to the defence. Zimling goes down in a heap and the ball is back with Wetklo.
Mainz have now tightened the screw at the back and Schalke are once more struggling to get space in their attacking third. It's fallen into a bit of a lull after that period of chances.
CHANCE! Mainz overwork a move involving Pospech and Szalai, who looks for Soto to his left but Schalke clear for a corner. I think the Hungarian should have pulled the trigger there.
Schalke are keeping the ball nicely in their own area and the middle of the pitch, but are lacking a clinical edge. A clinical edge that Klaas-Jan Huntelaar would provide, definitely.
Mainz are still looking for the goal that would give them a cushion. Currently they look most likely to score, but last time I said that Schalke immediately did.
GOAL! Mainz 2-2 Schalke (Bastos)
Well, I apologise Mainz fans, I've done it again. Bastos is found in acres of space by Meyer and he fires past Wetklo for his second equaliser of the game! Now this could go any way.
Caligiuri comes on for Zimling, just after Neustadter goes into the book for Schalke.
SCHALKE SUB: Farfan makes way for Pukki, a target man as Schalke chase an unlikely win.
MAINZ SUB: The excellent Ivanschitz makes way for Ede.
CHANCE! Ede immediately finds room in the box but his shot is blocked wide by Hildebrand. From the corner the goalkeeper does well again, this time from Noveski.
CHANCE! Oh my what a chance for Schalke to win it! Pukki does superbly to hold up the ball and slide in Draxler. He goes for a chip but puts it harmlessly wide of the far post. That should be 3-2, I doubt there'll be a better chance.
Both sides want this now. Neustadter's shot is blocked and Mainz look to break immediately, but can only win a throw.
There will be two minutes added on, and one more sub for Schalke as Draxler comes off for Tranquillo Barnetta.
I can't see another chance now. The urgency has dropped and just seconds remain.
FULL-TIME: Mainz 2-2 Schalke
So the game ends all-square! Mainz perhaps did enough to win this, but Schalke battled back twice through Michel Bastos and picked up a vital point.
It didn't seem that there would be four goals in it, but when chances were presented both sides were clinical - with the exception of Soto for Mainz.
That's all from me on this one, but please stay on site for reaction to all of today's football, including the FA Cup. Farewell.