The win sent Bayern two points clear at the top of the Bundesliga table. RB Leipzig is second on 16 points, with Dortmund third on 15 points.
In the first half’s closing stages Marco Reus’ instinctive finish put Dortmund ahead, but just before the interval David Alaba’s deflected free kick pulled Bayern level.
After the restart, Lewandowski’s glancing header gave Bayern the lead as the Polish striker equaled his own record of scoring 11 goals in the first seven games of the season, just like last season.
It was also Lewandowski’s 17th goal in 13 games against his former club.
Substitute Leroy Sane’s fierce shot put Bayern 3-1 up, though Haaland’s 83rd-minute effort ensured a tense finish.
“There was an incredible amount of quality out on the pitch and there were a lot of chances at both ends. We were a bit more clinical, more efficient in front of goal. The win was more than deserved.”
Bayern’s victory means the Bundesliga champion has now scored 102 goals in 31 games under Flick. That average of 3.2 goals per game is the highest for any Bayern coach.
Flick’s team has also netted 27 goals in seven games, equaling the record set by Borussia Mönchengladbach in the 1973/74 season.
In those seven league matches, Lewandowski has scored 11 times — that’s a goal every 42 minutes, with the 32-year-old forward also contributing four assists.
Haaland might have ended up on the losing side, but the 20-year-old Norwegian once again showcased his goalscoring brilliance.
His goal was his 19th in 21 Bundesliga games, a record bettered only by Uwe Seeler, who netted 20, while Lewandowski scored five in his first 21 matches.
Despite that record of nearly a goal every game, Haaland believes he should be scoring more.
“But right now we’re not, so Bayern are a better team and the best team in the world. That’s how it is.”
Dortmund head coach Lucien Favre pinpointed some of the chances his team missed in the first half as an explanation for the defeat.
“Obviously there were a lot of things that we could have done better. We created a lot of chances, we countered and we could have won the game.”