Eintracht Frankfurt's hopes of playing European football next season were dealt a blow as Hannover fought back to claim a vital 2-2 draw in their battle to avoid relegation from the Bundesliga.
A thrilling match started with chances for both sides as Hannover defender Felipe headed just wide from a good position before Alexander Meier forced Ron-Robert Zieler into a fine save with a powerful free kick.
The deadlock was broken just before the half-hour mark as Frankfurt took the lead through Alexander Madlung, who found the space in the box to head home from Bastian Oczipka's cross.
Zieler ensured that Hannover did not fall further behind before the interval with a fine low save to keep out Stefan Aigner's strike from the edge of the box.
However, some persistent play from Haris Seferovic early in the second half created another chance for Aigner, and Zieler was left helpless as the midfielder slotted home from close range.
It appeared that Frankfurt were on course for a comfortable win, but Hannover managed to reduce the deficit against the run of play when Marcelo headed in Hiroshi Kiyotake's corner.
The hosts twice came close to restoring their two-goal advantage as Sonny Kittel tested Zieler from distance moments before Seferovic wasted a great opportunity by firing just wide after working space on the edge of the box.
Frankfurt would pay the price eight minutes from time as Lars Stindl cut the ball back to Didier Ya Konan, who finished emphatically to earn Hannover a draw which takes them three points clear of the relegation zone.