Ten-man Bayern brush aside Cologne
Franck Ribery was sent off in the first half but Bundesliga top-scorer Mario Gomez notched his 16th league goal of the season to put the hosts in front after 48 minutes.
Substitute David Alaba made it 2-0 from close range and Toni Kroos grabbed the third goal two minutes from time with a delicate chip from 10 metres.
"Cologne were mixing concrete at the back today and played extremely defensively," Bayern coach Jupp Heynckes told reporters.
"After Franck's dismissal it was even harder for us but the team reacted very well, kept a tight defence and went forward to score the goals. We dominated the game even with 10, that was class."
Ribery, who was ordered to pay his former agent 2.66 million euros in unpaid commission earlier on Friday, was sent off in the 33rd minute after receiving two quickfire bookings.
The France forward went down in the penalty box and lost his temper with Sereno, pushing his opponent's head after the Portuguese told him to get up.
Sereno continued to talk to Ribery who then grabbed him by the throat and was given a second yellow card.
Bayern, who failed to win their previous five home games against Cologne, went in front when Gomez tapped the ball in following a defensive error by visiting captain Pedro Geromel.
With Cologne failing to make the extra man count, Austria international Alaba fired in at the far post after a corner sailed past the entire defence.
Kroos made sure of the win by lifting the ball over keeper Michael Rensing.
The winter break starts on Monday and ends on January 20.