Christian Gentner and Vedad Ibisevic were on target for Bruno Labbadia's men with Ivan Santini's first Bundesliga goal not enough for the visitors in the Baden-Wurttemberg derby.
Freiburg, who were also knocked out of the DFB-Pokal semi-finals by Stuttgart in midweek, remain fifth, one point behind fourth-placed Schalke, but with three sides within a point below them going into the last four games of the season.
Sunday's other Bundesliga game was also a derby - the oldest in German football - and saw Greuther Furth keep their slim survival hopes alive with 1-0 triumph over Bavarian rivals Nuremberg.
Johannes Geis' first professional goal in the 26th minute was enough for Furth to win for only the third time this season and edge to within nine points of the relegation play-off.
Nurnberg hit the woodwork three times but came away with nothing to show for their efforts.It was the 256th Franconian derby, with the clubs having first met in 1902.
Bayern Munich's domination continued as they thrashed Hannover 6-1 to set another record and warm up in style for Barcelona's Champions League visit on Tuesday.
Bayern's 26th win of the season, a new league record, was never in any doubt after Lars Stindl turned the ball into his own goal in the 16th minute.
Franck Ribery, who had earlier hit the bar, made it two six minutes later before Mario Gomez got his name on the scoresheet before half time.
Gomez, who scored a 15-minute hat-trick in the semi-finals of the DFB-Pokal on Tuesday, made it four before Claudio Pizarro added a fifth and Andre Hoffmann scored a consolation.
The goal stung Bayern and Pizarro added a sixth to complete yet another tennis-score victory for the Bavarians.
Borussia Dortmund warmed up for their Champions League semi-final against Real Madrid with a 2-0 victory over Mainz to seal their place in Europe's top competition again next season.
Marco Reus and Robert Lewandowski, who scored for the 12th game in a row, earned Jurgen Klopp's men all three points in a game they dominated.
Bayer Leverkusen can start planning for Champions League football next season after demolishing Hoffenheim 5-0 to leave their guests in serious relegation danger at the bottom of the table.
Stefan Kiessling and Andre Schurrle scored two goals each for Leverkusen with Stefan Reinartz adding a fifth.
Simon Rolfes saw his penalty saved after Eugen Polanski was shown a red card for the visitors, who remain six points adrift of safety with just four games of the season remaining.
Defender Marco Russ and veteran goalkeeper Oka Nikolov were Eintracht Frankfurt's heroes as they closed in on fourth-placed Schalke with a 1-0 win at the Waldstadion.
Russ' 41st-minute goal was enough for victory, but Frankfurt had their 38-year-old custodian to thank for keeping a priceless clean sheet.
Two goals from new skipper Rafael van der Vaart helped Hamburg to a 2-1 win over Fortuna Dusseldorf that takes them back into the running for a place in Europe next season.
The Dutchman, who was handed the captain's armband last weekend, scored twice in the first 20 minutes as Thorsten Fink's men picked up their second win in a row to move to within a point of the top six.
Dani Schahin scored a consolation for Fortuna, who ended the game on the attack, but were unable to find an equaliser.
Borussia Monchengladbach moved above Eintracht Frankfurt into sixth place thanks to a 1-0 win over 10-man Augsburg.
A red card for Kevin Vogt in the 26th minute, and a goal scored from the resulting penalty by Filip Daems, were enough to earn the Foals all three points and take them into a qualifying berth for the Champions League.
Augsburg, meanwhile, remain three points adrift of safety with one game fewer to play this season, making their Bundesliga future look bleaker.
First-half strikes from Maximilian Arnold (13) and Ivica Olic (27) plus midfielder Diego's 66th-minute penalty sealed an emphatic 3-0 triumph for Wolfsburg at Werder Bremen.
Sunday's Bundesliga Results
Saturday's Bundesliga Results
Friday's Bundesliga Result