The hosts appeared to be cruising to victory thanks to Mame Diouf's double, but a second half capitulation allowed the visitors back into the tie before a last-minute Szabolcs Huszti penalty spared the home side's blushes.
While Hannover's league form has been remarkably patchy of late, with just one win from their last five Bundesliga outings, they have impressed in the Europa League and came into the match top of Group L with seven points from their first three matches. Having beaten their guests 2-1 a fortnight ago, Mirko Slomka's men started as if they knew they had their opponents' measure and took the lead with their first attack, as Diouf headed home Huszti's inch-perfect cross.
The rest of the half was one-way traffic, as the Swedish outfit struggled to put together any moves of note and only sporadically approached Ron-Robert Zieler's goal. Given their dominance, Hannover will have been disappointed with such a slender lead at the break, with Didier Ya Konan in particular guilty of wasting several chances.
That soon changed in the second period, as Diouf doubled Hannover's advantage with a well-taken header following Lars Stindl's right-wing run and cross.Conversely, that goal seemed to act as a wake-up call for the visitors, who suddenly began playing with greater pace and determination.
It brought a swift reward too, as Hannover, perhaps complacent given their guests' toothless first-half performance, stood off and let Helsingborgs attack. A sweeping cross-field move ended with Djurdjic heading in Mattias Lindström's superbly-controlled volley at the back post. The closing stages brought plenty of drama, as Alejandro Bedoya equalised, before Huszti netted a last-minute penalty to snatch all three points. and a place in the knockout stage.
Hannover: Zieler - Cherundolo, Eggimann, Haggui, Rausch - Schmiedebach, C. Schulz - Stindl, Huszti - Ya Konan, Diouf
Helsingborg: Hansson - Andersson, Atta, P. Larsson, Uronen - Mahlangu, Gashi - Lindström, Bouaouzan (Alvaro 46') - Bedoya - Djurdjic
Goals: 1-0 (Diouf 3'), 2-0 (Diouf 50'), 2-1 (Djurdjic 59'), 2-2 (Bedoya 67'), 3-2 (Huszti, pen, 90')
Sent off: Atta (88'), Larsson (90')