(CNN) -- Bayern Munich were left tantalizingly close to a 22nd German Bundesliga title after closest rivals Schalke suffered a 2-0 defeat at home to third-placed Werder Bremen in the penultimate round of the league season on Saturday.
Leaders Bayern beat second-bottom Bochum 3-1 to move three points clear of Schalke, and now have a 17-goal better for-and-against differential ahead of the final match against relegated Hertha Berlin.
Felix Magath's Schalke side travel to Mainz next Saturday knowing they cannot be overtaken in second place by Bremen, who hold the third and final Champions League place for next season by a margin of two points from Bayer Leverkusen.
Bayern, who last won the title in 2008 and played in a new retro strip in front of 69,000 home fans, romped to victory thanks to a hat-trick from young midfielder Thomas Mueller, who also hit the post.
The 20-year-old Germany international opened the scoring in the 18th minute with his 11th goal this season, netted his second two minutes after and sealed victory on 69 to all-but guarantee Louis Van Gaal's team a first of three possible trophies this season.
The Bavarians qualified for the Champions League final in midweek, and can also claim the German Cup if they beat Schalke in the title match.
Van Gaal was in celebratory mood as he looked forward to officially sealing his first trophy in his first season at Bayern.
"We've hit our most important target, winning the Bundesliga," the Dutchman told the club's Web site. "The first 20-25 minutes today were outstanding. It was the best we've played at the Allianz Arena this season. Then it was just a case of waiting to see what Schalke did.
"This trophy means a lot to me. There aren't many coaches in Europe who've been fortunate enough to win the league in three countries. I'm very proud of that. We want to win more trophies now. Bayern is the best club I've ever worked for."
Bochum, for whom Christian Fuchs scored a consolation 85th-minute free-kick, face relegation unless they can beat Hannover next weekend.
Magath had been seeking to follow up last season's title success while in charge of Wolfsburg, but Schalke's hopes ended with defeat against Werder Bremen.
The hosts went close to a vital opening goal when top scorer Kevin Kuranyi headed against the bar in the 22nd minute, but it was former Schalke midfielder Mesut Ozil who netted first with a fine solo effort 10 minutes after halftime.
Ozil further silenced the home fans nine minutes later when he set up Portuguese striker Hugo Almeida for the second goal from close range.
Bayer Leverkusen's hopes of playing in the Champions League suffered a big blow with a 1-1 draw that condemned Hertha Berlin to the second division.
Hertha took the lead through Rafael after just 12 minutes, but Manuel Friedrich equalized for the home side in the 59th minute to leave Leverkusen -- who seemed title contenders for the first half of the season -- just a point above Borussia Dortmund.
Dortmund were also held 1-1 at home, by eighth-placed Wolfsburg, as Marco Stiepermann canceled out Edin Dzeko's 69th-minute goal for the visitors.
Sixth-placed Stuttgart failed to take advantage of Dortmund's slip, drawing 2-2 at home to Mainz to be three points adrift in the race for the second Europa League berth.
Stuttgart, who were in relegation trouble when Christian Gross took over as manager in December, needed two second-half goals from Romanian striker Ciprian Marica to earn a point.
Hannover moved out of the relegation zone with a surprise 6-1 hammering of 13th-placed Borussia Moenchengladbach, while Nuremburg dropped into the bottom three after a 4-0 defeat at Hamburg.
Freiburg guaranteed another season in the Bundesliga with a 2-2 draw at Cologne, who moved above Gladbach on goal difference.
In Saturday's other game, ninth-placed Eintracht Frankfurt lost 2-1 at home to Hoffenheim.