Despite having midfielder Simon Rolfes sent off for a dangerous tackle just 75 seconds after he came off the bench, Leverkusen took the three points to knock defending champions Dortmund down to fifth.
"I put the ball too far in front of me and then committed a foul, but it was no more than yellow," fumed Rolfes whose red card was the second fastest in the Bundesliga's history after his rash tackle on Fortuna's Adam Bodzek.
"It's incredibly annoying that I can't play next week and it was completely unnecessary, but the important thing is that we won."
Leverkusen took the lead on 16 minutes through a goal by midfielder Sidney Sam, but Düsseldorf levelled on 40 minutes after a header by Angola striker Nando Rafael.
Fortuna stayed level for barely a minute as Germany forward Andre Schürrle put the hosts ahead at half-time after he followed up Sam's superb cross.
Leverkusen then lost Rolfes, who came on for Sam on 63 minutes when the ex-Germany star threw himself into a reckless tackle on Bodzek and the referee had no hesitation in showing him red.
Bayer responded immediately as Spanish right-back Daniel Carvajal charged down a pass, sprinted clear of the defence and squared to give Gonzalo Castro the simplest of tap-ins on 67 minutes.
Bodzek pulled one back for the visitors with a superb strike from outside the penalty area on 86 minutes, but it was too little, too late.
Werder Bremen rocketed from twelfth up to seventh on Sunday night with a 2-1 win at home to Mainz with 26-year-old midfielder Aaron Hunt, the oldest man in the Werder team, scoring both goals.
Hunt gave his side an early lead, but Mainz's Hungary midfielder Adam Szalai equalised for his side in the second-half to claim his eighth goal in 10 games to go level with Bayern's Mario Mandzukic as the league's joint top scorer.
After second-placed Schalke 04 suffered a shock 3-2 defeat at Hoffenheim on Saturday, while Eintracht Frankfurt and Dortmund lost, both Bayern Munich's 3-0 win at Hamburg means the Bavarians have a clear cushion at the top.
"It's been a very good round of matches for us. Naturally, we knew the other scores before kick-off and we were even more motivated," said Bayern goal-scorer Bastian Schweinsteiger.
Germany midfielders Thomas Müller and Toni Kroos also got on the score sheet to end Hamburg's previous run of four wins in six games while Munich warmed up for Wednesday's Champions League clash at home to Lille. Frankfurt remain third after their 1-1 draw with Guerther Fürth on Friday.
Defending champions Borussia Dortmund are fourth after they were held to a goalless draw by VfB Stuttgart.
Dortmund captain Sebastian Kehl will play with a mask in Tuesday's Champions League clash at Real Madrid after he broke his nose.
The 32-year-old had to be replaced with 20 minutes gone after taking a stray elbow in the face while challenging for a ball with Stuttgart's Raphael Holzhauser, who was given a yellow card.
Nuremberg won the battle of the basement teams as midfielder Timo Gebhart scored the winner with a 76th-minute header to move up to 14th and take some of the pressure off coach Dieter Hecking with their first win in seven games.
Hannover are sixth after their 2-0 win at home to Augsburg while Borussia Mönchengladbach were held to a 1-1 draw at their own ground by Freiburg.
Later on Sunday, mid-table Werder Bremen are home to seventh-placed Mainz 05.