Sidney Sam, Andre Schurrle and Gonzalo Castro got the goals for the home side with Nando Rafael and Adam Bodzek on target for the visitors, who made life hard for Leverkusen who were reduced to 10 men in the 65th minute when Simon Rolfes was sent off.
Dusseldorf's fans will make the 20-mile trip home proud of their team's efforts, but facing the reality of what is becoming a relegation battle in spite of a five-game unbeaten start to their first campaign back in the top flight in 15 years.
The defeat leaves them in 15th place, just two points above the bottom three while Leverkusen are now two points clear of defending champions Borussia Dortmund, nine adrift of league leaders Bayern Munich.
Sam was back in the starting XI for Leverkusen after making an impression, scoring the winning goal as a substitute against Bayern last weekend.
He added to that goal with the opener against Fortuna, lobbing the ball over Fabian Giefer after being picked out to perfection by Stefan Kiessling in the 16th minute.
The visitors levelled in the 40th minute with Axel Bellinghausen's corner headed in by Rafael with the ball taking a deflection on its way past Michael Rensing.
Just a minute later, Leverkusen restored their lead when Sam sent in a cross from the right which was rifled in by Schurrle after Kiessling and Tobias Levels got in each other's way.
Fortuna tried to hit back again in the second half with Dani Schahin shooting into the side-netting from a tight angle.
Rolfes then earned one of the quickest red cards in Bundesliga history as he was sent off for a dangerous tackle on Bodzek less than two minutes after coming on to replace Sam.
Just a minute later, though, Castro put the 10 men in front with Daniel Carvajal racing clear and squaring to his team-mate for an easy finish in the 67th minute.
Bodzek set up a grandstand finish when he reduced the arrears in the 86th minute, but despite laying siege to the Leverkusen goal, Norbert Meier's side were unable to find an equaliser.