(CNN) -- Germany's champions-elect Borussia Dortmund dropped points for the second match in a row on Saturday to give main rivals Bayer Leverkusen hope of trimming the deficit.
Dortmund's 1-1 draw with early-season pacesetters Mainz means that Leverkusen can close to within seven points of Jurgen Klopp's team with victory at home to Schalke on Sunday.
Klopp was hoping his side would bounce back from the 1-0 defeat at Hoffenheim last weekend, and they made the best start in the eighth minute when Mainz goalkeeper Christian Wetklo tried to punch clear a header from Mats Hummels but it ended up in the net.
Dortmund should have been 2-0 up inside 20 minutes after Wetklo brought down striker Lucas Barrios, but the 31-year-old made amends by saving Nuri Sahin's penalty.
Mainz had an equalizer ruled out on the hour mark when Sami Allagui was adjudged to be offside in a marginal decision, but earned a point in the last minute of regulation time as Petar Sliskovic converted a cross from fellow substitute Marcel Risse.
The result left Mainz in fifth place, four points behind Bayern Munich.
The defending champions maintained a grip on Germany's fourth Champions League spot following a 2-1 victory at Freiburg, courtesy of Franck Ribery's 88th-minute strike.
Bayern, seeking to bounce back from the midweek Champions League exit at the hands of last season's final conquerors Inter Milan, took the lead in the ninth minute through striker Mario Gomez's 19th Bundesliga goal this season -- a header from Ribery's cross.
Young Bayern keeper Thomas Kraft then conceded a penalty when he fouled Cedric Makiadi, but had few problems in saving Papiss Demba Cisse's poor attempt.
The Senegal international made amends in the 17th minute as he punished the type of defending that has plagued Bayern's season.
However, the Bavarians' attacking potency has never been in doubt, and -- despite losing Dutch winger Arjen Robben to injury -- Louis van Gaal's team finally snatched a winner when France playmaker Ribery fired home from outside the area to leave Freiburg in eighth place and struggling to qualify for Europe.
Third-placed Hanover stayed two points clear of Bayern with seven rounds to play, bouncing back from last week's 4-0 thrashing by Cologne to win 2-0 at home to Hoffenheim.
Top scorer Didier Ya Konan celebrated his return from injury with his 12th goal this season seven minutes before halftime, and hit the bar soon after halftime.
He also started the move that led to Hanover's second in the 53rd minute, with Mohammed Abdellaoue converting Lars Stindel's low cross.
Sixth-placed Nuremberg crashed 3-1 at home to Werder Bremen, who moved four points clear of the bottom three.
At 2-1 down, Nuremberg had Timothy Chandler sent off for a second booking with 18 minutes left, then Sandro Wagner sealed the win with his second penalty after fellow goalscorer Claudio Pizarro was fouled.
Croatia striker Mladen Petric scored a first-half hat-trick as seventh-placed Hamburg crushed Cologne 6-2 in new coach Michael Oenning's first game in charge since replacing Armin Veh.
Hamburg led 4-0 at the break before Mato Jajalo pulled one back for the Billy Goats, but Gojko Kacar restored the margin and Ze Roberto celebrated equaling the record of 330 Bundesliga appearances by a foreign player with a penalty before Lukas Podolski's 63rd-minute consolation.
Eintracht Frankfurt moved three points away from the relegation zone with a 2-1 win over St. Pauli that left the visitors in the playoff place after a fifth successive defeat.
Borussia Monchengladbach remain bottom after Friday's 1-0 home defeat by Kaiserslautern, who are above Frankfurt on goal difference.
Second-bottom Wolfsburg travel to fellow strugglers Stuttgart on Sunday in the first match since the return of the club's 2009 title-winning coach Felix Magath, who was sacked by Schalke last week.
Magath's replacement will be former Hoffenheim coach Ralf Rangnick, whose return to the Champions League quarterfinalists on a contract until 2014 will be officially confirmed on Monday.