BERLIN — Bayern Munich ground past Hertha Berlin 2-0 and Borussia Dortmund kept the Bundesliga title race alive for one more week with a 3-0 victory at Stuttgart Saturday.
Bayern would have won the title with a win and Dortmund loss.
Bayern can seal an unprecedented fourth title with a win at home against Borussia Moenchengladbach next weekend, but first visits Atletico Madrid for the first leg of their Champions League semifinal Wednesday.
"It's not easy to keep pushing every three or four days, especially when everyone expects you to win," Bayern's Thomas Mueller said.
Arturo Vital scored three minutes after the break and Douglas Costa sealed Bayern's win late to keep the side seven points clear of Dortmund with three games remaining.
Henrikh Mkhitaryan starred for Dortmund, setting up Shinji Kagawa, then Christian Pulisic before the break, and crowning his performance by scoring in the 56th.
Hiroshi Kiyotake scored late to salvage a 2-2 draw for Hannover at 10-man Ingolstadt and keep alive a mathematical chance of survival. Hannover was nine points behind Werder Bremen in the relegation playoff place but could be relegated Sunday, if second-from-last Eintracht Frankfurt wins at Mainz.
Also, Wolfsburg lost at home to Augsburg 2-0 to end its Champions League qualification hopes, and Cologne routed visiting Darmstadt 4-1 with Anthony Modeste and Marcel Risse both scoring twice.
Both Ingolstadt and Cologne ended any relegation fears.
Bayer Leverkusen was visiting Schalke for the late game.
Hertha managed to frustrate Bayern for the first half and even had more shots at goal — seven compared to three — though none of them were on target.
Rafinha and Mueller were both booked for bad challenges on former Bayern teammate Mitchell Weiser toward the end of the half.
Vidal finally broke the deadlock after the break, his fierce effort from distance taking a deflection to leave Hertha keeper Thomas Kraft helpless.
Hertha was left to rely on counterattacks, knowing that Bayern was one of two teams alongside Bayer Leverkusen to have won every game after taking the lead this season. This was the 26th game.
Costa settled the issue with a brilliant strike from a difficult angle to the far top corner.
Stuttgart was just points off the relegation zone after Dortmund's win.
Mkhitaryan produced a brilliant cross for Kagawa to open the scoring, and Pulisic scored for the second successive game when he converted the rebound after Przemyslaw Tyton saved Mkhitaryan's initial effort.
The American teen became the youngest player at 17 to score two goals for Dortmund.
Mkhitaryan sealed it by picking his spot after Tyton pushed Adrian Ramos' effort away.