Matthias Scherz stunned the home crowd in the 12th minute before defender Willy Sagnol equalized for Bayern in the 29th minute.
Albert Streit restored Cologne's lead in the 36th minute but Dutch striker Roy Makaay leveled the score three minutes later.
Despite the draw, the Bavarian giants lie on the top of Bundesliga table with 66 points while Cologne are in first place from bottom on 20 points.
Elsewhere, Bundesliga top scorer Miroslav Klose scored to help Werder Bremen beat Eintracht Frankfurt 1-0 and move to second place.
The German international scored from the penalty spot in the 70th minute to secure the three points.
Bremen are in second place with 56 points while Frankfurt occupy 13th place on 30 points.
In other matches, Bayer Leverkusen thrashed Kaiserslautern 5-1, Borussia Monchengladbach beat Borussia Dortmund 2-1, Hertha Berlin defeated Stuttgart 2-0, Nurnberg cruised past Mainz 3-0 and Wolfsburg were held to a 1-1 draw with Duisburg.