(CNN) -- Stuttgart remain in the Bundesliga title hunt after a 2-1 victory at Schalke on Wednesday.
Cacau celebrates his opening goal in Stuttgart's crucial 2-1 victory at Schalke in Wednesday.
Brazilian striker Cacau put Stuttgart ahead with a fierce strike in the 15th minute but Ivan Rakitic curled home a superb free-kick to level for Schalke six minutes before half-time.
However, 2007 champions Stuttgart claimed the vital three points in the 56th minute when Romanian Ciprian Marica stabbed home from close range after goalkeeper Manuel Neuer could only parry Thomas Hitzlsperger's shot.
The result keeps Stuttgart in fourth position, but just two points separate the leading quartet of teams with just two matches remaining in what has proved the most exciting title race in years.
Wolfsburg and Bayern Munich are level at the top, with Wolfsburg leading on goal difference, after both sides won 3-0 on Tuesday.
Hertha Berlin are just a point behind following their 2-1 success at Cologne on Tuesday, with Stuttgart a further point behind.
Hamburg defeated Bochum 3-1 on Wednesday, with Ivica Olic scoring twice, and they remain fifth. Although Martin Jol's side can mathematically still win the title, they are five points behind Wolfsburg and need an unlikely sequence of results to become champions.
Werder Bremen's superb end to the season continued as theey hammered Eintracht 5-0 in Frankfurt, with Torsten Frings scoring twice for the UEFA Cup and German Cup finalists.
In the relegation battle, Borussia Moenchengladbach took a huge step towards safety with their second consecutive win, with Brazilian Dante scoring in injury time to seal a 1-0 win over Energie Cottbus.
The result leaves 'Gladbach 14th, but only three points separate the bottom four places, while Hoffenheim are seventh after their 2-0 win at Arminia Bielefeld.
Bottom side Karlsruhe look almost certain to be relegated after they squandered a 2-0 lead to slump to a 3-2 home defeat to Hanover on Tuesday, a result that leaves them four points from safety with just two games left to play.