The hosts took the lead just before the break at the Niedersachsenstadion through Szabolcs Huszti, but Franco Di Santo levelled for the visitors.
In a game which could have gone either way, Prodl headed in a winner in the 90th minute to give Bremen a boost in their battle against relegation.
The weekend's other results had seen both Hannover and Bremen's gap over the bottom three remain unaltered, although that was no reason for either of them to sit back and relax.
With only five points separating them from the drop zone, victory in this northern Germany derby was nonetheless crucial to create a bit of breathing space above the bottom three, and it was Bremen who looked the more intent on doing so early on.
Clemens Fritz was first to test Ron Robert Zieler before Philipp Bargrede fizzed in a shot which the Hannover custodian punched away.
Aaron Hunt, who this week announced he will be leaving Bremen in the summer, showed he is nevertheless committed to the cause by setting up Eljero Elia, whose shot from a tight angle was saved.
It was almost all Bremen, until Hannover took the lead in the 43rd minute.
Free-kick specialist Huszti took aim from 20 yards and found a gap in the wall to beat Raphael Wolf in the Bremen goal.
The game opened up more with Hannover buoyed by their unlikely goal, and there were chances at both ends.
Bremen levelled on the counter-attack when Elia chipped the ball in for Di Santo, who was faced with only Zieler to beat, and he made no mistake.
Hannover's best chance fell to Leon Andreasen, but he shot straight at Wolf from Jan Schlaudraff's pass.
It was a costly miss as Prodl netted a winner for Bremen in the last minute, heading the ball in from close range after Zlatko Junuzovic's corner was flicked on by Luca Caldirola.
Junuzovic nearly added a third within a minute, but Zieler kept his side's hope alive going into the three minutes of stoppage time.
They almost snatched an equaliser too, but Wolf turned Christian Schulz's flying header past the post to save his side's precious victory.