Mandzukic gave Bayern the lead in the 50th minute before Thomas Muller made it two inside the final 20 minutes.
Stuttgart played the final 10 minutes a man light after Martin Harnik was shown a second yellow card.
Bayern now have 48 points to lead comfortably from second-placed Bayer Leverkusen, who could only draw against Freiburg on Saturday. Stuttgart stay on 25 points - four behind sixth-placed Schalke.
Bayern were close to taking the lead in the 12th minute but Dante sent his header just over the bar.
Stuttgart had a good chance in the 27th minute but Shinji Okazaki shot wide of the far post following a counter-attack, while the hosts were left to curse their luck in the 35th minute as Harnik struck the frame of the goal from a tight angle.
Bayern went ahead five minutes after the re-start as Mandzukic intercepted a backpass from Cristian Molinaro, rounded goalkeeper Sven Ulreich and coolly slotted the ball home.
Munich appeared to have doubled the advantage in the 54th minute but Muller's effort was disallowed after he strayed offside.
The game was decided in the 72nd minute as Mandzukic crossed from the right for Muller who stuck out a boot to directed the ball past Ulreich.
Stuttgart's miserable day was complete when Harnik was sent off in the 80th minute after picking up his second caution following a foul on Franck Ribery.