Match ends, FC Ingolstadt 04 1, FC Bayern München 2.
Bayern Munich were crowned champions of Germany for the 26th time with one game to go as two Robert Lewandowski goals earned them victory over Ingolstadt.
Pep Guardiola's side responded from going out of the Champions League semi-final by securing the Bundesliga for a record fourth successive campaign.
Lewandowski put Bayern ahead from the penalty spot before doubling the lead after Xabi Alonso's sublime pass.
Moritz Hartmann's penalty made it 2-1 but Bayern clinched the title.
Borussia Dortmund were the only team that could have caught Guardiola's side but their 1-0 defeat at Eintracht Frankfurt means Bayern are eight points clear of their nearest rivals going into the final weekend of the league campaign.
Guardiola will therefore take up his new post at Manchester City this summer having secured three Bundesliga titles in three attempts.
The former Barcelona boss had been in a spiky mood on the eve of his penultimate league game following Bayern's defeat by Atletico Madrid on the away goals rule in the Champions League.
Guardiola had accused a dressing-room mole of "damaging" Bayern, after details of an alleged row in the wake of Tuesday's European exit were made public.
But the 45-year-old was all smiles as he celebrated with his players at the final whistle at mid-table Ingolstadt after an 81st win in 101 league games under Guardiola.
Bayern on course for double
Bayern took the lead at Ingolstadt when Franck Ribery was fouled by home captain Marvin Matip in the area and Lewandowski scored the resulting spot-kick.
The Bundesliga's leading scorer then added his second when he drilled home Alonso's superb pass from a tight angle for his 29th league goal of the season.
Ingolstadt's Australia striker Mathew Leckie was denied by Manuel Neuer but the hosts pulled a goal back when Hartmann converted a penalty after a push from behind by Alonso.
After the final whistle, forward Thomas Muller grabbed a loud hailer to lead chants with the fans.
Bayern get a chance to secure a domestic double when they face Dortmund in the final of the German Cup on 21 May.
- 21da Costa
- 8de Oliveira Bernardo
- 36CohenSubstituted forMoralesat 63'minutes
- 9HartmannSubstituted forHinterseerat 77'minutes
- 37LezcanoSubstituted forLexat 82'minutesBooked at 83mins
- 7LeckieBooked at 89mins
- 8Martínez Aguinaga
- 14AlonsoSubstituted forBenatiaat 45'minutesBooked at 46mins
- 6Thiago AlcántaraSubstituted forRodeat 89'minutes
- 11Douglas Costa
- 25MüllerBooked at 75mins
- 7RibérySubstituted forFerreira de Souzaat 57'minutes
- 9LewandowskiBooked at 80mins
- 13Ferreira de Souza
- Florian Meyer
- Shots on Target
Second Half ends, FC Ingolstadt 04 1, FC Bayern München 2.
Offside, FC Ingolstadt 04. Marvin Matip tries a through ball, but Stefan Lex is caught offside.
Attempt missed. Lukas Hinterseer (FC Ingolstadt 04) right footed shot from the centre of the box is close, but misses to the right. Assisted by Mathew Leckie.
Substitution, FC Bayern München. Sebastian Rode replaces Thiago Alcántara.
Mathew Leckie (FC Ingolstadt 04) is shown the yellow card for a bad foul.
Joshua Kimmich (FC Bayern München) wins a free kick in the defensive half.
Foul by Mathew Leckie (FC Ingolstadt 04).
Foul by Douglas Costa (FC Bayern München).
Pascal Groß (FC Ingolstadt 04) wins a free kick on the right wing.
Thiago Alcántara (FC Bayern München) wins a free kick in the defensive half.
Foul by Roger (FC Ingolstadt 04).
Foul by Thomas Müller (FC Bayern München).
Danny da Costa (FC Ingolstadt 04) wins a free kick in the defensive half.
Philipp Lahm (FC Bayern München) wins a free kick in the defensive half.
Foul by Alfredo Morales (FC Ingolstadt 04).
Stefan Lex (FC Ingolstadt 04) is shown the yellow card for a bad foul.
Manuel Neuer (FC Bayern München) wins a free kick in the defensive half.
Foul by Stefan Lex (FC Ingolstadt 04).
Substitution, FC Ingolstadt 04. Stefan Lex replaces Darío Lezcano.