Dermed beholder sørtyskerne serieledelsen i Bundesliga, to poeng foran Werder Bremen som enkelt vant 4-1 mot Eintracht Frankfurt.
Köln sto med fem strake tap før møtet med Bayern, men var i perioder det klart beste laget. Matthias Scherz ga hjemmelaget ledelsen etter 28 minutter.
Köln hadde kontroll helt til en forsvarsfeil lot Lucio utligne ti minutter inn i annen omgang. Landslagskaptein Ballack avgjorde kampen med en heading et kvarter før slutt.
- En heldig seier. Vi klarte ikke å beholde roen, og Köln var tidvis det beste laget, sa Bayern-trener Felix Magath.
Schalkes første tap
I Bremen hadde de grønnhvite vertene små problemer med Frankfurt. Riktignok tok nyopprykkerne fra finansbyen ledelsen, men Torsten Frings startet målshowet da han headet inn 1-1 etter halvtimen.
To skudd fra Tim Borowski og et mål av målmaskinen Miroslav Klose sørget for storseier til Bremen.
Hamburg er nummer tre, fire poeng bak Bayern, etter 1-0-seier mot Schalke. HSV ble dermed første laget i høst som slo Schalke i serien. Iranske Mehdi Mahdavikia avgjorde kampen med et skudd etter 20 minutter.
Hassan El Fakiri spilte hele kampen da Borussia Mönchengladbach tapte 1-2 borte mot Borussia Dortmund. Fakiri var god for Gladbach, men kunne ikke hindre nederlag.