Franck Ribery scored an 83rd-minute winner as Bayern Munich cut the gap between themselves and Bundesliga leaders Borussia Dortmund to six points by beating RB Leipzig.
Bayern capitalised after Dortmund suffered a first defeat of the season at Fortuna Dusseldorf on Tuesday.
It was a frustrating evening for the champions until Ribery sidestepped two defenders and slotted home.
Ex-Swansea loanee Renato Sanches was one of two players sent off late on.
The Portuguese midfielder was dismissed in the final minute after picking up a second yellow card for reacting angrily to Stefan Ilsanker’s tackle, with the Leipzig player receiving a straight red for lunging in on Thiago Alcantara.
Bayern stay third in the table behind second-placed Borussia Monchengladbach, who defeated Nuremberg 2-0.
Support InfoStride News' Credible Journalism: Only credible journalism can guarantee a fair, accountable and transparent society, including democracy and government. It involves a lot of efforts and money. We need your support. Click here to Donate