It was the visitors who had the first chance of the game inside two minutes when Mathis Bolly was headed through by Dani Schahin on the right of the penalty area, but his shot narrowly flew wide of the near post.
Hannover came close to taking the lead in the ninth minute after a fast break resulted in Konstantin Rausch firing just wide of the bottom corner.
Five minutes later Dusseldorf responded with Andreas Lambertz but he failed to test the goal.
The hosts then had two good chances in the space of three minutes. First Sergio Pinto's long-range drive fell wide of the post and then Rausch just missed the top corner.
Lambertz narrowly missed the far post with a header with 25 minutes played before he then fired another shot over the bar.
Dusseldorf were made to pay for their wasted chances in the 36th minute, when Diouf slotted Hannover in front following a Steven Cherundolo through-ball.
Bolly and Lambertz had two chances each to draw Dusseldorf level before the break, but neither could find the back of the net.
However, Hannover doubled their lead on the hour mark when Ya Konan slotted a shot into the bottom corner to put the hosts 2-0 up.
The game was put to bed 14 minutes from time when Ya Konan again found the bottom corner with a low strike.
Ya Konan had a great chance to secure his hat-trick three minutes later, but he skied his effort over the bar.