The victory, combined with Schalke 04's 4-0 thrashing at former league leaders Hertha BSC Berlin, pushed Leverkusen to the top of the Bundesliga with 25 points from 13 matches.
Paulo Rink gave Leverkusen the lead after just 56 seconds and restored the lead after the half hour after Roy Praeger had equalised with a header at the 10-minute mark.
Oliver Neuville secured Leverkusen's victory 17 minutes from the final whistle.
Danish striker Ebbe Sand scored a hattrick as Schalke briefly took over the Bundesliga lead with a convincing 4-0 win in the German capital.
Schalke pulled even with Hertha on 24 points but went ahead because of a better goal difference. Schalke, who started the week fourth, also leapfrogged Bayern Munich, but can lose their top spot to Bayer Leverkusen, who play at SV Hamburg later Saturday.
Bayern lost 2-1 at home to Eintracht Frankfurt, the defending champions' fifth loss of the season. The defeat was also the first at home against Frankfurt since a 3-0 loss in December 1976.
Paulo Sergio blasted Bayern into the lead 13 minutes into the game only to have Frankfurt's Alexander Schur outjump Michael Tarnat and head home a free kick from 40 metres out and surprisingly even things just before half-time.
Norwegian Jan-Aage Fjortoft executed a perfect lob over Bayern keeper Oliver Kahn to put Frankfurt ahead for good 2-1 on 63 minutes.
"We don't have the luck right now and there's insecurity within the team as we're afraid to give up a goal," said Bayern coach Ottmar Hitzfeld, whose team has already lost as many matches so far this season as all of last season.
"We need some strong matches to get back some of our confidence," Hitzfeld added.
Schalke have plenty of confidence, notching their seventh victory of the season even though they were playing without dangerous striker Emile Mpenza, midfielder Thorsten Legat and defenders Olaf Thon and Yves Eigenrauch.
In front of 50,000 fans in Berlin, Sand beat Hertha defender Kostas Konstantindis to a long pass and lobbed the ball over keeper Gabor Kiraly for the Schalke lead after just four minutes.
The Danish striker found himself alone in front of Hertha's goal on 19 minutes and headed home Andreas Moeller's corner kick for Schalke's 2-0 lead on the road.
Joerg Broehme all but secured Schalke's win 10 minutes from time and Sand put the game away with his 11th tally of the season - tops in the Bundesliga.
Hertha coach Juergen Roeber said playing without three injured German internationals - Sebastian Deisler (illness), Stefan Beinlich (toe) and Marko Rehmer (muscle pull) - was difficult, but he would have liked to have seen his team fight to at least a draw at home.
"We made two horrible defensive mistakes in the first half which led to the goals and we had to fight back. We tried in the second half, but Schalke are a very strong team, especially their counter attack," Roeber said.
Kaiserslautern missed their chance to pull ahead of Bayern, losing 2-0 at home to SC Freiburg on goals by Adel Sellimi (14) and Andreas Zeyer (90). Kaiserslautern have now lost two straight and fallen to sixth place with 20 points, even with Frankfurt.
Werder Bremen's Marco Bode and VFL Wolfsburg's Tomislav Maric each scored as the sides split 1-1 in Wolfsburg.
Christian Timm's second half double secured promoted side FC Cologne's fifth victory of the season, a 5-2 result at home against 10-man Hansa Rostock to move four points clear of a relegation spot.
Borussia Dortmund attempt to keep pace with neighbours Schalke when they play VfL Bochum on Sunday and Unterhaching host Energie Cottbus in a relegation battle.
(sda)