Match ends, TSG 1899 Hoffenheim 1, FC Bayern München 2.
Bayern Munich conceded the joint quickest goal in Bundesliga history but turned it around and scored a last-minute winner in an action-packed game.
Kevin Volland seized on a misplaced David Alaba pass to put Hoffenheim in front after nine seconds, with Thomas Muller levelling soon before the break.
The hosts had a chance to beat Bayern for the first time ever when Jerome Boateng conceded a penalty for handball and was sent off, but Eugen Polanski hit the post with the kick and keeper Manuel Neuer landed on the rebound to keep it out.
Boateng's dismissal was for a second booking - having also been shown a yellow card for another handball 90 seconds earlier.
And substitute Robert Lewandowski scored the 90th-minute decider from Douglas Costa's cross.
Summer signing from Juventus, Arturo Vidal, and reported Manchester United target Muller both hit the woodwork.
Bayern have won both their opening games, as have Bayer Leverkusen, the only two teams on six points.
Borussia Dortmund play Ingolstadt on Sunday, with both sides having won their opener.
- 5SchärSubstituted forOchsat 90+1'minutes
- 20KimBooked at 77mins
- 16SchweglerBooked at 63mins
- 10SchmidSubstituted forRudyat 64'minutes
- 8PolanskiBooked at 89mins
- 22KuranyiSubstituted forUthat 69'minutes
- 5BenatiaSubstituted forFerreira de Souzaat 36'minutesBooked at 83mins
- 17BoatengBooked at 72mins
- 21LahmSubstituted forLewandowskiat 67'minutes
- 10RobbenSubstituted forThiago Alcántaraat 59'minutes
- 25MüllerBooked at 75mins
- 11Douglas Costa
- 4Costa Santos
- 6Thiago Alcántara
- 13Ferreira de Souza
- Tobias Stieler
- Shots on Target
Second Half ends, TSG 1899 Hoffenheim 1, FC Bayern München 2.
Thiago Alcántara (FC Bayern München) wins a free kick on the left wing.
Foul by Sebastian Rudy (TSG 1899 Hoffenheim).
Corner, FC Bayern München. Conceded by Sebastian Rudy.
Corner, FC Bayern München. Conceded by Pavel Kaderábek.
Corner, TSG 1899 Hoffenheim. Conceded by Mario Götze.
Foul by Robert Lewandowski (FC Bayern München).
Jin-Su Kim (TSG 1899 Hoffenheim) wins a free kick in the defensive half.
Substitution, TSG 1899 Hoffenheim. Philipp Ochs replaces Fabian Schär.
Goal! TSG 1899 Hoffenheim 1, FC Bayern München 2. Robert Lewandowski (FC Bayern München) right footed shot from the centre of the box to the bottom left corner. Assisted by Mario Götze.
Eugen Polanski (TSG 1899 Hoffenheim) is shown the yellow card for a bad foul.
Douglas Costa (FC Bayern München) wins a free kick in the defensive half.
Foul by Eugen Polanski (TSG 1899 Hoffenheim).
Thomas Müller (FC Bayern München) hits the right post with a header from the centre of the box. Assisted by Robert Lewandowski following a corner.
Attempt saved. Robert Lewandowski (FC Bayern München) right footed shot from the centre of the box is saved in the bottom left corner. Assisted by Thomas Müller.
Corner, FC Bayern München. Conceded by Jin-Su Kim.
Attempt saved. Robert Lewandowski (FC Bayern München) left footed shot from the centre of the box is saved in the centre of the goal.
Arturo Vidal (FC Bayern München) wins a free kick in the defensive half.
Foul by Pirmin Schwegler (TSG 1899 Hoffenheim).