BERLIN (AP) -- Bayern Munich needed a late own goal to scrape a 2-1 win at Bayer Leverkusen and move another step closer to the Bundesliga title on Saturday.
Mario Gomez put the visitors in front with a fine individual goal in the 37th minute, but Leverkusen improved after the break and Simon Rolfes duly equalized with 15 minutes remaining.
Bayern looked to be heading for its fifth draw of the season, only for the unfortunate Sebastian Boenisch to deflect Bastian Schweinsteiger's free kick into his own net with the back of his shoulder with three minutes left.
Earlier Saturday, Borussia Dortmund came from behind with three goals in five minutes to rout Freiburg 5-1 and consolidate second place.
However, defending champion Dortmund remains 20 points off the pace after 26 rounds and Bayern needs just five more points to wrap up a 23rd Bundesliga title.
Bayern coach Jupp Heynckes rotated his players after losing to Arsenal in the Champions League in midweek, with Thomas Mueller, Philipp Lahm und Mario Mandzukic all left out.
Franck Ribery was still laboring with a left ankle ligament strain, and former Leverkusen player Toni Kroos dropped out with a knee injury.
Bayern deservedly went ahead when Gomez controlled Xherdan Shaqiri's cross on his chest, took it past Daniel Carvajal with his next touch, and then cut inside Boenisch before slotting the ball inside the far post.
Neither side threatened much until Rolfes was free at the far post to meet Boenisch's header from a corner. Boenisch's next contribution was less fortunate.
"It was difficult,'' Schweinsteiger said. "It's never easy to win here in Leverkusen. We actually started well, pressed well. Then we made a few mistakes in the build-up and that's dangerous against Leverkusen.''
Schalke lost 3-0 at Nuremberg to drop to fifth, relegation-threatened Augsburg claimed a valuable 1-0 win at Hamburger SV, Werder Bremen drew 2-2 with bottom side Greuther Fuerth, and Hoffenheim drew 0-0 with Mainz.
Dortmund started determined to make amends for last weekend's loss to Schalke in the Ruhr derby, but the home side was stunned in the 28th when Max Kruse picked out the unmarked Jonathan Schmid to score at the far post.
"I imagine the Freiburgers are disappointed because at 4.10 p.m. no one would have thought this result possible,'' Dortmund coach Juergen Klopp said, referring to the time before Robert Lewandowski equalized, Nuri Sahin added another, and then Lewandowski grabbed his second.
Lewandowski became the first Dortmund player to score in his eighth successive Bundesliga game when he equalized with a header from Sahin's free kick in the 41st.
Three minutes later, Sahin scored his first goal since returning from Real Madrid and Liverpool with a crisp strike after some great work from Jakub Blaszczykowski on the left.
There was still time before the interval for Lewandowski to take his season tally to a league-leading 19 goals when Freiburg failed to clear the ball, allowing the Poland striker cut inside a defender before unleashing inside the far post.
Sahin grabbed his second from a volley in the 73rd, five minutes before Lewandowski played the ball across goal for Leonardo Bittencourt to wrap up the scoring with his first Bundesliga goal.
"We started well and then conceded three goals through massive naivety. Then the game was lost,'' Freiburg coach Christian Streich said.
Schalke was eliminated from the Champions League by Galatasaray on Tuesday, and the Gelsenkirchen-based side's miserable week continued in an unlucky defeat, with Julian Draxler and Benedikt Hoewedes striking the post.
"A lucky win. We over-relied on our luck in the first half,'' said Nuremberg coach Michael Wiesinger. "Schalke had to have been in front.''
There was a hint of hand-ball when Marcus Feulner opened the scoring in the 31st, though the Nuremberg midfielder stayed cool before slotting the ball inside the right post.
Alexander Esswein held off Michel Bastos to do likewise in the 69th, before Mike Frantz sealed the result in the 87th.
Jan-Ingwer Callsen-Bracker's eighth-minute header was enough for Augsburg at Hamburg, which was forced to play without Rafael van der Vaart after the Dutch playmaker pulled out due to a stomach bug shortly before kick-off.
Hamburg substitute Maximilian Beister was sent off in the 80th for kicking out at Daniel Baier as both challenged for a high ball.
"We let our chances go very easily,'' said Hamburg coach Thorsten Fink. "We were lacking the necessary confidence and the element of surprise.''
In Bremen, Aaron Hunt put the home side in front by coolly rolling in a penalty after the break, only for Stephan Fuerstner to equalize in the 56th and Thanos Petsos to score another six minutes later from a free kick.
Hunt equalized with a second penalty almost as cool as his first in the 70th.
"We pulled out everything we had in the tank and always believed in ourselves,'' said Frank Kramer after his debut as Fuerth coach. "You can expect that from the team.''