Match ends, TSG 1899 Hoffenheim 0, FC Bayern München 2.
Bayern Munich need a maximum of six more points to secure a third successive Bundesliga title after winning at Hoffenheim.
Sebastian Rode's strike and an Andreas Beck own goal took Pep Guardiola's side 13 points clear of second-placed Wolfsburg.
Midfielder Rode showed neat control before curling the ball home.
And Bayern's second came in stoppage time when Beck forced Thomas Muller's cross into his own net.
The victory came at the end of a turbulent week for Bayern after the resignation of club doctor Hans-Wilhelm Muller-Wohlfahrt and defeat by Porto in the Champions League.
Bayern were missing several key players for Wednesday's surprise 3-1 defeat in Portugal - with Muller-Wohlfahrt saying he had stepped down because the medical team had been blamed for the loss.
Hoffenheim started well and Bayern were grateful to keeper Manuel Neuer for denying Anthony Modeste after Dante's error allowed the former Blackburn striker through on goal.
Bayern gained control of the match and took the lead when Rode curled in his second league goal of the season. His other also came against Hoffenheim - in a 4-0 win in November.
Robert Lewandowski came close to doubling the advantage after the break but his shot hit Beck and came back off the bar, before fine goalkeeping from Oliver Baumann denied Thiago and then Thomas Muller.
Bayern finally added their second in the closing seconds when Beck put Muller's ball in from the right beyond Baumann.
- 2BeckBooked at 68mins
- 15ToljanSubstituted forSchipplockat 85'minutes
- 6RudyBooked at 19mins
- 8PolanskiSubstituted forSzalaiat 69'minutes
- 31VollandBooked at 70mins
- 27ModesteSubstituted forZuberat 69'minutes
- 13Ferreira de SouzaBooked at 66mins
- 4Costa SantosBooked at 24mins
- 16GaudinoSubstituted forThiago Alcántaraat 57'minutes
- 18BernatSubstituted forBoatengat 45'minutes
- 25MüllerBooked at 21mins
- 9LewandowskiSubstituted forPizarroat 89'minutes
- 6Thiago Alcántara
- Tobias Stieler
- Shots on Target
Second Half ends, TSG 1899 Hoffenheim 0, FC Bayern München 2.
Own Goal by Andreas Beck, TSG 1899 Hoffenheim. TSG 1899 Hoffenheim 0, FC Bayern München 2.
Offside, TSG 1899 Hoffenheim. Steven Zuber tries a through ball, but Sven Schipplock is caught offside.
Thiago Alcántara (FC Bayern München) wins a free kick on the left wing.
Foul by Tobias Strobl (TSG 1899 Hoffenheim).
Attempt missed. Jerome Boateng (FC Bayern München) left footed shot from outside the box is too high.
Substitution, FC Bayern München. Claudio Pizarro replaces Robert Lewandowski.
Corner, FC Bayern München. Conceded by Pirmin Schwegler.
Attempt blocked. Robert Lewandowski (FC Bayern München) right footed shot from the right side of the box is blocked.
Attempt blocked. Robert Lewandowski (FC Bayern München) right footed shot from the right side of the box is blocked. Assisted by Mitchell Weiser.
Foul by Holger Badstuber (FC Bayern München).
Roberto Firmino (TSG 1899 Hoffenheim) wins a free kick in the defensive half.
Sebastian Rode (FC Bayern München) wins a free kick in the attacking half.
Foul by Andreas Beck (TSG 1899 Hoffenheim).
Attempt saved. Sebastian Rode (FC Bayern München) right footed shot from outside the box is saved in the top right corner. Assisted by Robert Lewandowski.
Substitution, TSG 1899 Hoffenheim. Sven Schipplock replaces Jeremy Toljan.
Sebastian Rode (FC Bayern München) wins a free kick in the defensive half.
Foul by Steven Zuber (TSG 1899 Hoffenheim).
Foul by Thomas Müller (FC Bayern München).