Thomas Muller scored twice with Thiago Alcantara and Mario Mandzukic also on target in yet another comfortable victory for Pep Guardiola's men.
Hannover started well and created plenty of chances to score, but Bayern showed a sublime level of efficiency to take maximum points for the 20th time in 22 matches, exceeding 60 goals for the season in the process.
Hannover's third defeat in a row practically ends any lingering hopes they had of qualifying for Europe next season and forces them instead to look over their shoulders at the relegation zone.
It did not look like it would be such a comfortable win for Bayern as Hannover took the game to them.
Artjoms Rudnevs could have given them the lead in the 15th minute when he took the ball around Tom Starke, making his first start of the season in the Bayern goal to give Manuel Neuer a rest, but the Bayern man recovered to block the Latvian's shot.
Ten minutes later, Bayern took the lead with their first real chance of the game, Rafinha finding room down the right and sending in a cross which was met by an unmarked Muller to head in at the near post.
Marcelo then gifted Bayern a second as he got caught in a duel with Mandzukic, forgetting about the play going on around him and allowing Bastian Schweinsteiger to lift a ball over the rest of the Hannover back line to Thiago, who was consequently not in an offside position and able to chest the ball down before beating Ron-Robert Zieler.
Hannover could have reduced the arrears early in the second half when Starke again raced off his line, this time to meet Szabolcs Huszti and again block the shot.
Two minutes later, Muller made it 3-0.
David Alaba's cross was helped on its way by a neat backheel from Mandzukic, leaving Muller with only his Germany team-mate to beat.
Mandzukic then got in on the act himself, heading in Rafinha's deep cross from close range with Zieler beaten again.