Bayer Leverkusen saw off Augsburg at the BayArena, while a Rafael van der Vaart wondergoal helped Hamburg overcome Borussia Monchengladbach
Schalke's recent slump continued on Saturday when they drew 2-2 with Mainz at the Coface Arena.
With the visitors out of form, it was the hosts who took the initiative, and were in a deserved lead after 27 minutes when Nicolai Muller's cross was turned home by Andreas Ivanschitz.
However, Jens Keller's men were back on level terms shortly before the break. Christian Wetklo pushed out Jermaine Jones' effort as far as Raffael, who set up fellow Brazilian Michel Bastos with the slimplest of tap-ins.
Thomas Tuchel's side set out in search of another goal after the break, and were back in the lead when Ivanschitz's inch-perfect ball found Zdenek Pospech, who tucked the ball home.
However, there was one final twist as Keller threw on youngster Maximilian Meyer 18 minutes from time, the debutant then finding Bastos in space in the box to snatch a point for his side.
HAMBURG 1-0 BORUSSIA MONCHENGLADBACH
Hamburg kept up their pursuit of a top-four finish by overcoming fellow European hopefuls Borussia Monchengladbach at the Imtech Arena.
The only goal of the game arrived after 24 minutes. Artjoms Rudnevs strode forward and squared the ball to Rafael van der Vaart, who took the ball in his stride and sent an absolute thunderbolt of a shot straight into the top corner.
And that proved enough for Thorsten Fink's side to move up to sixth in the table, just three points behind Eintracht Frankfurt.
Gladbach, meanwhile, slip to 10th, but remain just seven points off the fouth and final Champions League spot.
WERDER BREMEN 2-3 FREIBURG
Freiburg claimed three vital points in their pursuit of a Champions League by beating Werder Bremen 3-2 at the Weserstadion.
It was the visitors who made the stronger start to the match, and they had gone ahead when Max Kruse sent a powerful volley beyond Sebastian Mielitz, but Thomas Schaaf's men were back on level terms moments later when Kevin De Bruyne made a charge down the left and played in Nils Petersen, who finished brilliantly.
However, just after the break, Chrstian Streich's side were back in front thanks to a Daniel Caligiuri penalty. Once more, though, Petersen found an equaliser, capitalising on a dreadful defensive mix-up.
There was to be one final twist in the tale though. Freiburg mounted an attack, and Matthias Ginter was able to force the ball over the line after Bremen failed to clear their lines.
BAYER LEVERKUSEN 2-1 AUGSBURG
Bayer Leverkusen got their bid for a top-two finish back on track by overcoming relegation-threatened Augsburg 2-1 at the BayArena.
Stefan Kiessling had led Sami Hyypia's side's charge for the Champions League places with a steady stream of goals this season, and was the hero once more, heading home Gonzalo Castro's 26th-minute free kick.
With Leverkusen having played less that 48 hours previously in the Europa League, that was all there was to separate the two sides, but 15 minutes from time, the result was made safe. Kiessling was involved once more, picking up the loose ball and setting up Lars Bender, who finished well.
With just seconds left of normal time, the Bavarians got a consolation goal, with Sascha Molders meeting Andre Hahn's cross at the near post and steering the ball beyond Bernd Leno.
FORTUNA DUSSELDORF 1-0 GREUTHER FURTH
Fortuna Dusseldorf overcame fellow Bundesliga newboys Greuther Furth 1-0 at the Esprit Arena.
The hosts had a golden opportunity to go ahead after just three minutes when Robbie Kruse was brought down by Matthias Zimmermann just inside the area, but Dani Schahin's weak spot kick was saved with ease by Wolfgang Hesl.
At the other end, Bernd Nehrig was denied by the post twice within the space of minutes. And things soon got worse for Furth. Seconds later, an awful defensive slip let in Alex Bellinghausen, who finished brilliantly.
Any hopes the visitors had of getting back into the match were dealt a real blow seven minutes from the break when Jozsef Varga picked up a second booking for pulling an opponent's shirt in midfield.
Hesl made further saves to deny Schahin and Stefan Reisinger after the break, but that was as close as we came to a second goal.
This result moves Dusseldorf up to 13th in the Bundesliga. Furth, meanwhile, remain rooted to the bottom of the table.
NURNBERG 2-2 HANNOVER
A dramatic late equaliser from Sebastian Polter allowed Nurnberg to grab a 2-2 draw from their encounter with Hannover in Sunday's earlier kick-off.
It was the hosts who made the brighter start to the match, but just before the break, they were to fall behind. Moa Abdellaoue fed Szabolcs Huszti, who blasted the ball into the back of the net.
However, the Bavarians fought back after the break, and soon had their equaliser when Hiroshi Kiyotake's free kick found Timm Klose, who flicked the ball beyond Ron-Robert Zieler.
Just over 20 minutes from time, though, Hannover looked to have snatched victory. Abdellaoue was the provider once more, pulling the ball back from the left to Didier Ya Konan to tap home.
There was one final twist in the encounter. Deep into injury time, Timmy Chandler crossed from the right, and Polter guided the ball beyond Zieler from close range.
HOFFENHEIM 0-1 STUTTGART
Stuttgart ended their current run of five straight league defeats by beating fellow Baden-Wurttemberg outfit 1-0 at the Mercedes-Benz Arena.
The visitors got just the start they were hoping for. Ibrahima Traore motored down the left, leaving Andreas Beck in his wake, and crossed to the far post, and Martin Harnik stooped down low to head home from six yards.
Traore and Vedad Ibisevic sent presentable chances narrowly wide from the edge of the box, while Joselu had an effort deflected off target by Georg Niedermeier in what was a very good first half for Bruno Labbadia's men.
Hoffenheim came out of the blocks the quicker of the two teams after the break. First a Kevin Volland free kick evaded everyone in the box and fell just wide of Sven Ulreich's post, before Joselu sent a tame shot straight at the keeper when put through on goal.
However, in the end, the visitors were able to hold on and record a much-needed win.