Artjoms Rudnevs headed Hannover in front before Diouf struck. Peniel Mlapa pulled a goal back for Gladbach, but Diouf's second sealed Hannover's win to lift the Reds up to 10th in the table, where they are six points off the top six.
Gladbach lose fourth place to Schalke, who beat Wolfsburg on Saturday.
Gladbach seemed to be in control of the game early on, holding possession as if they were the home side at the Niedersachsenstadion.
Patrick Herrmann was the first to test Ron Robert Zieler with a shot from outside the area, but Hannover soon found their feet and started to create chances of their own.
Leonardo Bittencourt wasted two, heading over and then curling a shot wide, before Diouf saw a goal ruled out for a push by Szabolcs Huszti.
The Hungarian then set up Rudnevs to give the hosts the lead with a powerful header at the far post early in the second half.
Diouf missed a chance to make it two before reaching another Huszti cross to head past Marc-Andre Ter Stegen, giving the Reds the cushion they were looking for.
It almost was not enough, though, as Mlapa filled the void left by the sale of Luuk de Jong to Newcastle earlier in the week by springing from the bench to head the visitors back into the game only two minutes later.
Diouf saw another chance go begging before he sealed victory in the last minute, sending a low shot across Ter Stegen and into the far corner to complete a perfect start to Korkut's tenure.