A tie put Hoffenheim back to the top of the Bundesliga after previous leaders Hertha Berlin slipped at Wolfsburg and Bayern Munich suffered a surprise loss at home to Cologne. But Hamburg could take the lead on Sunday.
Hoffenheim's coach said he team could live with the 3-3 tie
Demba Ba scored a hat-trick for Hoffenheim who missed a stoppage-time penalty in an entertaining 3-3 draw at VfB Stuttgart -- the point enough to put Ralf Rangnick's side back on top on goal difference.
The results could benefit third-placed SV Hamburg who will go top if they can win at fifth-placed Bayer Leverkusen on Sunday.
Midtable Cologne boosted the weekend's carnival celebrations in the city by handing Juergen Klinsmann's Bayern side a third defeat in four games since the winter break.
It leaves Bayern fourth on 38 points, two adrift of Hoffenheim and Hertha Berlin ahead of a visit to Werder Bremen next weekend.
Bayern's blues drag on
Underdogs Cologne had plenty to celebrate against Bayern
Bayern chairman Karl-Heinz Rummenigge had a similarly disappointed view of his team's match against Cologne.
"We had a bad day and we were caught ice cold on the break," he said. "We had bad luck with a disallowed goal but you have to say we didn't play well and didn't look good defensively."
Bayern were looking to bounce back from last Saturday's 2-1 defeat at Hertha, and had Cologne-bound Lukas Podolski back in the side in the absence of injured Italy striker Luca Toni.
Podolski, however, only lasted the first half before being replaced by US striker Landon Donovan.
Miroslav Klose thought he had headed Bayern in front only to be ruled out -- wrongly as television pictures showed -- for offside.
Cologne then caught the home side out in the 22nd minute when Nemanja Vucicevic threaded a ball through to Fabrice Ehret for the French midfielder to finish neatly with the outside of his left foot.
A further shock came 12 minutes later when Daniel Brosinski netted in front of goal, with Vucicevic again the provider after getting past Philipp Lahm on the right before sending in a low cross.
Podolski, left, will be in a Cologne jersey next season
Belgian defender Daniel van Buyten headed Bayern back in contention six minutes from time but Cologne held on for the three points.
"We played with a lot of heart and had that little bit of luck you need in certain situations," Cologne coach Christoph Daum said.
Three players, six goals in Stuttgart
Demba Ba scored all three goals for Hoffenheim, while Mario Gomez hit two for Stuttgart as the two sides shared six goals. But the visitors missed a golden opportunity for victory when Sejad Salihovic blasted over the bar from the penalty spot in stoppage time.
Demba Ba put his name next to all three of Hoffenheim's goals
Senegalese striker Ba opened the scoring in the 24th minute and hit a second just before half-time after Cacau and Mario Gomez had struck for the home side.
Gomez then put Stuttgart in front with a clever goal lob in the 63rd minute only for Ba to strike again four minutes later. The draw continued Stuttgart's unbeaten streak, which runs back to November.
"The spectators certainly got their money's worth today," said Hoffenheim coach Ralf Rangnick. "It was an intense game which would we could have won, albeit unexpectedly. We can live with 3-3."
The tie came for Hoffenheim just after the German Soccer Federation said it would look into doping violations by Hoffenheim players Andreas Ibertsberger and Christoph Janker. The players tested negative after a Feb. 7 match against Dortmund but could be sanctioned for failing to appear immediately for the examination.
Hertha: Defeat hard to accept
Defeat can be hard to watch for Hertha coach Favre
Leaders Hertha took a 62nd-minute lead at Wolfsburg thanks to a Cicero header, but Wolfsburg's Edin Dzeko leveled 10 minutes later and the Bosnia striker then headed the winner six minutes from time.
"We are, of course, very disappointed, because we could have taken at least a point," said Hertha coach Lucien Favre. "In the second-half, we were actually the better team and we made Wolfsburg look strong, so it's hard to accept this defeat."
Bottom club Borussia Moenchengladbach ended a run of eight games without a win by downing Hanover 3-2.
First-half goals from Alexander Baumjohann and Marko Marin and a late winner from Oliver Neuville gave Borussia the points after Sergio Pinto and Christian Schulz had hit back for the visitors.
A last-minute goal from Dimitar Rangelov gave Energie Cottbus a 2-1 win over ailing Werder Bremen to lift the eastern German club out of the relegation zone. Struggling Arminia Bielefeld and Bochum finished 1-1, while second-to-bottom Karlsruhe slipped to a 1-0 home defeat to Eintracht Frankfurt.