Trailing 3-1 from the first leg, Hannover threw everything they had at the Russians but only had Sergio Pinto's 70th-minute goal to show for it, not enough to turn the tie around. A frantic finish saw substitute Lacina Traoré settle the matter deep into added time to seal Anzhi's passage.
Hannover had plenty of work to do to save themselves but were also aware of the danger Anzhi posed on the counter-attack, and had an early reminder when Samuel Eto'o drilled a shot wide in the opening exchanges.
But the Germans were controlling the tempo for most of the first half, creating a string of chances only to fail to test Vladimir Gabulov in the Anzhi goal.
Mohamed Abdellaoui blazed a shot wide before Mame Diouf missed the target with a header.
Gabulov could stand and watch once more when Abdellaoui's close-range effort flew over the crossbar.
The goalkeeper did get involved in the 33rd minute, punching Szabolcs Huszti's free-kick clear, but it was their only shot on the target in the first half, with Didier Konan heading wide before the break.
There were further warnings of the dangers Anzhi posed early in the second half, although Mbark Boussoufa's shot was easily gathered by Ron-Robert Zieler before Willian sent one over the crossbar.
At the other end, Christian Schulz could not find the target with a header.
Hannover were given hope when they took the lead on the night in the 70th minute, with Huszti crossing for Pinto to slot home into the left-hand corner of the net.
And Huszti almost put them ahead on away goals three minutes later when Gabulov did well to turn his header around the post for a corner.
They kept the pressure on, with Johan Djourou going close with a header before Abdellaoui sent another shot wide.
But they could not find the second goal that would have put them ahead on away goals, and Traoré punished them with a late goal that send the Russians through.