Hamburg completed a notable double over Bayern Munich but it is unlikely to deny the Bavarians another Bundesliga title.
The 2-1 setback was Bayern’s first ever defeat at the brand new Allianz Arena but Werder Bremen’s 1-1 draw at Bayer Leverkusen means that the Bavarians still lead by eight points.
Guy Demel opened the scoring for Hamburg and, although Mehmet Scholl equalised, it was Nigel de Jong who secured victory for the visitors two minutes from time.
Bayern have lost only two games this season and both times their conquerors have been Hamburg, who join Werder Bremen in second.
Bremen took an early lead through Torsten Frings but then Dimitar Berbatov equalised for Leverkusen.
Cologne’s 18-match winless streak ended with a 4-2 win at Hertha Berlin, Schalke earned a 2-1 win at Hannover, Nurnberg won 3-0 at home to Duisburg and Borussia Dortmund were held 1-1 by Mainz.
The match between Kaiserslautern and Stuttgart was postponed.