Bayern Munich, chasing a record fourth Bundesliga title in a row, sank Hertha Berlin 2-0 on Saturday but had to put the champagne on ice as Borussia Dortmund beat VfB Stuttgart 3-0 to stay within striking distance.
A deflected effort by Arturo Vidal and a 79th-minute goal from Douglas Costa were enough to give treble-chasing Bayern victory in a lacklustre game against fourth-placed Hertha.
The Bavarians, who take on Atletico Madrid in the Champions League semi-finals in midweek, have 81 points with three games to go and can seal the title by defeating Borussia Mönchengladbach next week.
“We need one more victory,” said Bayern coach Pep Guardiola who is in his third and final season at the club before he joins Manchester City at the end of the campaign.
“I hope we can deliver a good game next week and be crowned champions,” he told reporters. “Today’s game was uncomfortable for us and we struggled in the first half.”
Guardiola is looking to end his spell in Munich with three trophies as Bayern are also through to the German Cup final where they will face Dortmund.
Dortmund struck twice in the first half through Shinji Kagawa and American teenager Christian Pulisic.
Henrikh Mkhitaryan then grabbed his 11th league goal of the campaign after the break to maintain his team’s slim title hopes on 74 points.
Bayer Leverkusen scored three times in seven second-half minutes to recover from a two-goal deficit and record a 3-2 victory at Schalke 04.
Leverkusen’s win tightened their hold on third spot, and automatic Champions League qualification, with 54 points, five ahead of Hertha.
Schalke, with coach Andre Breitenreiter under mounting pressure, missed a fifth-minute penalty through Klaas-Jan Huntelaar and are now sweating on a Europa League position, in seventh place on 45 points.
Champions League quarter-finalists VfL Wolfsburg continued their slump as a 2-0 home defeat by Augsburg dropped them to 10th on 39 points, all but ending their chances of European football next season.
Wolfsburg, last season’s German Cup winners and Bundesliga runners-up, have failed to win any of their last six matches.
Bottom club Hanover 96 were all but relegated despite rallying from two goals down to draw 2-2 at Ingolstadt.
Hanover have 22 points, nine off the relegation playoff spot occupied by Werder Bremen who have a better goal difference.