Hannover hit Bayer Leverkusen's hopes of keeping pace with Bundesliga leaders Bayern Munich as Szabolcs Hustzi scored 2 penalties to secure a narrow 3-2 triumph for the hosts.
Leverkusen went ahead after two minutes through Gonzalo Castro but Huszti equalised from the spot in the 20th minute.
Mame Biram Diouf gave Hannover the lead 2-1 in the 57th minute before Stefan Kiessling levelled 60 seconds later, but Huszti converted another penalty in the 69th minute.
The result ended Leverkusen's four-match winning run and left them 11 points behind runaway leaders Bayern.
Two goals within 5 minutes were enough for Borussia Monchengladbach to win 2-0 at home against Mainz and move closer to the European places.
Hanke scored in the 58th minute and Arango netted a memorable goal in the 63rd to decide the contest.
Hanke turned home Tony Jantschke's cross before Arango collected a clearance from outrushing Mainz keeper Heinz Muller and flighted the ball back over the keeper and in from 45 yards.