Bayern Munich missed the chance to go top of the Bundesliga as they lost at home to mid-table Cologne.
A second-half consolation goal from Daniel van Buyten was all they had to show for their efforts after Cologne had taken a 2-0 first-half lead through Fabrice Ehert and Daniel Brosinski.
Cologne had the first chance of the game after two minutes as Milivoje Novakovic headed wide from a cross by Nemanja Vucicevic.
A shot from Bayern's Lukas Podolski sailed over the bar before the home side then had a goal disallowed.
Miroslav Klose thought he had opened the scoring when he headed in a corner from Massimo Oddo but it was ruled out for offside, although replays showed the decision was incorrect.
Bastian Schweinsteiger tried his luck from distance but Farid Mondragon was able to claim the ball comfortably.
The visitors took the lead after 22 minutes when Ehert scored from close range after the ball had broken loose when Martin Demichelis challenged Vucicevic.
Brosinski extended Cologne's lead after 34 minutes when he received possession from Vucicevic and hit a right-footed shot into the left corner of the goal.
Five minutes into the second half a header from Novakovic from a corner on the right taken by Petit saw substitute Landon Donovan clear.
Hamit Altintop, like Donovan a half-time substitute, then saw his shot from distance go wide of the right post.
Franck Ribery dribbled in from the left wing and into the penalty but his shot was saved by Mondragon with his feet.
The home side did reduce the deficit with six minutes remaining when Altintop's cross found Van Buyten who headed into the bottom right corner.
But Bayern could not find an equalizer against an organized Cologne side who comfortably held out for the win.