Bundesliga Wrap: Hamburg secure derby win
Bremen looked set to secure a point at a sold out Imtech Arena on Sunday, but the home side scored two late goals to leapfrog their arch-rivals in the table.
Substitute Artoms Rudnevs came off the bench to break the deadlock six minutes from time with a close-range finish after Bremen had dug deep to frustrate Josef Zinnbauer's side.
Bremen's hopes of salvaging a point all-but ended when Clemens Fritz was shown a second yellow card after 89 minutes.
And the Hamburg added insult to injury when Tolgay Arslan, another substitute, struck the post with the goal gaping only for Bremen goalkeeper Raphael Wolf to divert the ball into his own net when he attempted to catch the rebound.
Hamburg's victory was only their third of the season and ensured they also move above Borussia Dortmund, while Bremen are second-bottom.
Stuttgart remain at the foot of the table after they were consigned to a 1-0 home defeat against Augsburg in the only other Bundesliga game to be played on Sunday.
Arim Veh's men were always going to be up against it after Daniel Schwaab was shown a second yellow card after only 28 minutes, but it was not until 18 minutes from time that the visitors took the lead.
Stuttgart were furious when referee Thorsten Kinhofer pointed to the penalty spot after Raul Bobadilla's cross had struck Adam Hlousek on the arm.
Paul Verhaegh converted from 12 yards and there was no way back for the home side, who have now lost three games in a row without scoring a goal.