Bayern edged Czech side Plzen 1-0 away with a header from Mario Mandzukic midway through the second half to make it four wins out of four while City punished visitors CSKA 5-2 with an Alvaro Negredo hat-trick and Sergio Aguero double.
City have reached the knockout round for the first time.
Real Madrid could have clinched a place in the last 16 phase with a win but drew 2-2 at Juventus in Group B.
Cristiano Ronaldo and Gareth Bale scored for Real while Arturo Vidal, with a first-half penalty, and Fernando Llorente, with an equaliser, netted for Juve, who slip to the bottom of the group below FC Copenhagen who beat visiting Galatasary 1-0.
Paris St Germain would also have qualified for the knockout stage with a win but were held to a 1-1 home draw by Anderlecht, who finished with 10 men after Sacha Kljestan was sent off.
Demy de Zeeuw scored Anderlecht's first goal of the campaign after 68 minutes to put the Belgian champions ahead in their Group C match before Zlatan Ibrahimovic equalised for PSG two minutes later, poking home at the second attempt.
Olympiakos Piraeus beat Benfica 1-0 in the other Group C match to consolidate second place three points behind PSG, who have 10, and three ahead of the Portuguese side.
Manchester United were held to a 0-0 draw at Real Sociedad in their Group A match with Robin van Persie missing a penalty for United who had Marouane Fellaini sent off late on.
United stay top of the group, a point ahead of Bayer Leverkusen who drew 0-0 at Shakhtar Donetsk.
- Sports & Recreation
- Sergio Aguero
- Alvaro Negredo
- Fernando Llorente
- Mario Mandzukic
- Arturo Vidal