Title holder Bayern Munich won 1-0 at Viktoria Plzen on Tuesday to advance to the knockout stage of the Champions League, while group rival Manchester City reached the second round for the first time by outclassing CSKA Moscow 5-2.
Paris Saint-Germain and Real Madrid missed early opportunities to qualify by being held to draws — and both had to come from behind. PSG was held 1-1 at home by Anderlecht and Real settled for a 2-2 draw at Juventus.
In a match with few thrills, substitute Mario Mandzukic scored with a second-half header to put Bayern through, while a hat trick from Alvaro Negredo and a brace from Sergio Aguero propelled City into the next stage.
'We would have wished for a better performance.' - Bayern Munich goaltender Manuel Neuer
Bayern has four wins from four games and tops Group D with 12 points, while second-place City has nine following its victory over CSKA.
It was Bayern's ninth consecutive win in the Champions League over two seasons, equaling Barcelona's record from the 2002-03 campaign. Bayern and City advanced with two matches to spare.
"We would have wished for a better performance," Bayern goalkeeper Manuel Neuer said.
Captain Philipp Lahm said his team had "slept through the early stage of the match."
"Perhaps we think it's going to be easy," Lahm added.
Midfielder Toni Kroos said Bayern lost possession too often. "But we have 12 points from four games and we can be proud of that."
Plzen slipped to a fourth straight loss and is out of contention.
The in-form Aguero converted a penalty in the third minute, added a sumptuous second in the 20th and then fed Negredo for a tap-in as City raced into a 3-0 lead after half an hour in Manchester.
CSKA striker Seydou Doumbia also scored twice — either side of Negredo's second goal in the 51st — before the Spain striker completed his hat trick with the last touch of the game from a header.
There was as much focus on what was happening in the crowd as on the pitch in the wake of the first meeting between the sides, a 2-1 win for City two weeks ago that was overshadowed by racist chanting by home fans that earned the Russian club a partial stadium ban.
A small contingent of CSKA fans travelled for the return game and, flanked by a mass of stewards, were constantly barracked by City fans over what happened in Moscow. Things didn't boil over, although police intervened at one stage and appeared to remove at least one fan, while a smoke bomb appeared to go off during the second half.
Man United held to draw
Group A leader Manchester United and second-place Bayer Leverkusen were both held to 0-0 draws away from home, at Real Sociedad and Shakhtar Donetsk, respectively.
Robin van Persie, who substituted Wayne Rooney, hit the post with a powerful penalty shortly after driving against the same piece of the woodword. United's Marouane Fellaini was sent off late in the game as Real Sociedad won its first point.
Leverkusen came home with a point from Shakhtar Donetsk, which remained third in the group. United has eight points, Leverkusen seven, Shakhtar five and Sociedad one.
Juventus and Real Madrid provided an entertaining 2-2 draw, leaving the Spanish side on the verge of qualifying for the knockout stages.
Juventus dominated the first half and Arturo Vidal gave the Italian side a deserved halftime lead from the penalty spot after Paul Pogba had been fouled by Raphael Varane.
Cristiano Ronaldo levelled for Madrid with his 21st goal in 16 matches this season and turned provider minutes later as Gareth Bale put Carlo Ancelotti's side in front.
But Madrid's lead lasted just five minutes before Fernando Llorente headed Juventus level.
Madrid dropped its first points but remains top of Group B with 10 points, while Juventus slipped to bottom spot after Copenhagen beat Galatasaray 1-0 with an early goal by Daniel Braaten.
Galatasaray and Copenhagen have four points, and Juventus three.
PSG crushed Anderlecht 5-0 two weeks ago, but this time needed an equalizer from Zlatan Ibrahimovic after the visitors took the lead against the run of play midway through the second half.
Despite playing the last 10 minutes with an extra player after Anderlecht midfielder Sacha Kljestan was sent off, PSG failed to break down a resilient Belgian side.
Midfielder Demy de Zeeuw gave the visitors the lead — with his team's first goal of the campaign — in the 68th minute after a quick counterattack, but Ibrahimovic levelled just two minutes later.
PSG leads with 10 points in Group C and second-place Olympiakos has seven after beating Benfica 1-0, courtesy of an early goal by Kostas Manolas. Benfica has four points and Anderlecht one.