Match ends, Bayer 04 Leverkusen 0, Borussia Dortmund 1.
Referee Felix Zwayer walked off after Bayer Leverkusen boss Roger Schmidt refused to go to the stands after being dismissed for dissent.
The Bundesliga match against Borussia Dortmund was delayed for around eight minutes and only started again after Schmidt left his technical area.
Schmidt claimed Dortmund's goal, scored by Pierre-Emerick Aubameyang, should not have stood.
"I was too stubborn and reacted emotionally," said Schmidt afterwards.
The 48-year-old claimed a free-kick leading to the goal was not taken from the right place.
German referee Zwayer asked Leverkusen's acting captain Stefan Kiessling, who had conceded the foul that led to the goal, to tell his coach to leave the dug-out.
When nothing happened, Zwayer led the teams off the pitch and into the dressing rooms.
"It was certainly a mistake on my part," added Schmidt.
"However, I wish the referee had explained to me just once why I had to go to the stands."
It was the first time a Bundesliga match had been suspended in such circumstances, with Schmidt going on to watch the remainder of the game from his team's dressing room.
The result moved Dortmund to within eight points of Bundesliga leaders Bayern Munich following Bayern's 3-1 win over Darmstadt on Saturday.
The top two teams meet in Dortmund on 5 March.
Leverkusen missed the chance to go third in the table as their six-match unbeaten league run came to an end.
In a game of few chances, the controversial moment came after 64 minutes when Kiessling fouled Sven Bender.
Matthias Ginter took a quick free-kick which released Erik Durm to break clear and cross for Aubameyang to side-foot in his 28th goal of the season.
What they said:
Bayer Leverkusen coach Roger Schmidt: "We went behind to an irregular goal. I pointed it out to the fourth official.
Borussia Dortmund coach Thomas Tuchel: "I can empathize with Roger, but better he took that position than I did.
"Emotions can sometimes boil over, but on this occasion it was a little too much."
- 16JedvajSubstituted forHilbertat 57'minutes
- 21ToprakSubstituted forPapadopoulosat 45'minutesBooked at 56mins
- 18WendellBooked at 89mins
- 44KamplBooked at 25minsSubstituted forRamalhoat 45'minutes
- 38BellarabiBooked at 58mins
- 7HernándezBooked at 53mins
- 25PapastathopoulosSubstituted forSuboticat 77'minutes
- 37DurmBooked at 87mins
- 6BenderSubstituted forWeiglat 68'minutes
- 22PulisicSubstituted forReusat 45'minutes
- Felix Zwayer
- Shots on Target
Second Half ends, Bayer 04 Leverkusen 0, Borussia Dortmund 1.
Offside, Borussia Dortmund. Henrikh Mkhitaryan tries a through ball, but Pierre-Emerick Aubameyang is caught offside.
Attempt missed. Chicharito (Bayer 04 Leverkusen) right footed shot from the centre of the box is close, but misses to the right. Assisted by Karim Bellarabi.
Attempt blocked. Marco Reus (Borussia Dortmund) right footed shot from outside the box is blocked.
Wendell (Bayer 04 Leverkusen) is shown the yellow card for a bad foul.
Henrikh Mkhitaryan (Borussia Dortmund) wins a free kick in the attacking half.
Foul by Wendell (Bayer 04 Leverkusen).
Corner, Bayer 04 Leverkusen. Conceded by Erik Durm.
Attempt saved. Marco Reus (Borussia Dortmund) left footed shot from the centre of the box is saved in the centre of the goal. Assisted by Matthias Ginter with a through ball.
Erik Durm (Borussia Dortmund) is shown the yellow card for a bad foul.
Foul by Erik Durm (Borussia Dortmund).
Karim Bellarabi (Bayer 04 Leverkusen) wins a free kick in the defensive half.
Erik Durm (Borussia Dortmund) wins a free kick in the attacking half.
Foul by Karim Bellarabi (Bayer 04 Leverkusen).
Corner, Bayer 04 Leverkusen. Conceded by Roman Bürki.
Henrikh Mkhitaryan (Borussia Dortmund) wins a free kick on the right wing.
Foul by Wendell (Bayer 04 Leverkusen).
Matthias Ginter (Borussia Dortmund) wins a free kick in the defensive half.
Foul by Stefan Kießling (Bayer 04 Leverkusen).