Claudio Pizarro with four, Arjen Robben twice, Xherdan Shaqiri, Bastian Schweinsteiger and Franck Ribery all scored for Bayern who led 5-0 at the break and refused to let up.
They did it all without leading scorer Mario Mandzukic, who was left on the bench ahead of Tuesday's Champions League quarter-final meeting with Juventus.
Hamburg's goals, from Jeffrey Bruma and Heiko Westermann, made it 8-1 and then 9-2 and did nothing to ease the misery.
The win moved Bayern 20 points clear of Borussia Dortmund with seven games to go and victory at Eintracht Frankfurt next Saturday will wrap up the title.
Dortmund kept Bayern waiting for another week at least by winning 2-1 at Stuttgart.
Lukasz Piszczek gave Dortmund the lead in the 29th minute, but Alexandru Maxim's first Bundesliga goal brought the Swabians level before a red card to Georg Niedermeier tipped the scales back in Dortmund's favour.
Robert Lewandowski grabbed the winner eight minutes from time.
Bayer Leverkusen kept a strong hold on third with a 4-1 win at Fortuna Dusseldorf.
Two goals apiece for Stefan Kiessling and Andre Schurrle ensured Leverkusen maintained a six-point cushion over Schalke.
The fifth goal in the game also came from a visiting player, Daniel Schwaab's own goal all Fortuna had to show for their efforts.
Schalke scored three times in the final 20 minutes to beat relegation-threatened Hoffenheim 3-0.
Marco Hoger broke the deadlock in the 71st minute before two substitutes, Raffael and Teemu Pukki, wrapped up the victory.
Mainz dropped three points behind Schalke as they had to settle for a 1-1 draw with Werder Bremen, despite going ahead after 12 seconds.
Adam Szalai gave Mainz a flying start, but Aaron Hunt earned Bremen a point.
Max Kruse scored twice as Freiburg moved ahead of Borussia
Monchengladbach in the race for Europa League qualification with a 2-0 win.
Third-bottom Augsburg failed to improve their chances of avoiding the drop as they lost 2-0 at home to Hannover.
Konstantin Rausch scored both goals in the second half.