Borussia Dortmund kept their title challenge alive for another week with a comfortable 3-0 victory over Stuttgart at the Mercedes-Benz Arena.
Dortmund are seven points adrift of table-topping Bayern with three games to play after Pep Guardiola's men beat Hertha Berlin and it looks like next month's DFB-Pokal final will be Thomas Tuchel's only chance of silverware this season.
Shinji Kagawa opened the scoring midway through the first half, netting his 12th goal of the season when he tapped in a sumptuous Henrikh Mkhitaryan cross.
Dortmund doubled their advantage on the stroke of half-time as 17-year-old Christian Pulisic grabbed his second career goal when he was quickest to react to Mkhitaryan's saved effort.
The Armenian playmaker grabbed a goal of his own early in the second half, casually slamming home the rebound from a parried Adrian Ramos header.
The win extended Dortmund's unbeaten league run in 2016 to 14 games and condemned hosts Stuttgart to their third consecutive defeat to leave them hovering dangerously close to the relegation zone.
Tuchel continued his rotation policy of recent weeks, making four changes from the side which breezed past Hertha Berlin in the semi-final of the DFB-Pokal.
Top scorer Pierre-Emerick Aubameyang missed out again with a toe injury, while there was a starting place for teenager Pulisic, who scored his first Dortmund goal in their 3-0 win over Hamburg.
The visitors took the lead after 20 minutes through Kagawa, the Japan international the grateful recipient of a superb far-post cross from Henrikh Mkhitaryan which was tapped home.
Pulisic made it 2-0 just before the break, pouncing on the rebound of Mkhitaryan's low drive from the edge of the area to convert.
Provider turned goalscorer for the away side's third after 55 minutes, Mkhitaryan lashing home fiercely with his left foot after Ramos had seen his header kept out
The winning margin could have been even greater as Dortmund were in control throughout, with Marco Reus and Ramos spurning presentable opportunities.
Stuttgart rarely troubled Roman Burki's goal, although Georg Niedermeier will probably feel he might have done better after 72 minutes when his free header from a corner was easily saved.
Substitute Moritz Leitner - previously on loan at Stuttgart - should have made it 4-0 with minutes to spare as Mkhitaryan squared, but he slipped at the crucial moment and his effort bounced back off the outside of the post.