Real Madrid and Inter Milan have secured their spots in the Champions League last 16, but Borussia Dortmund have dropped into the Europa League.
Real Madrid strolled to a 3-0 win at Moldovan rivals Sheriff Tiraspol in their lop-sided Group D clash.
France striker Karim Benzema, who was handed a suspended one-year prison sentence earlier on Wednesday, had a goal chalked off in the 10th minute for offside as Real laid siege to the home side, who stunned the Spanish side 2-1 in the reverse fixture in September.
David Alaba fired the visitors ahead with a deflected free-kick in the 30th minute, with his shot from 22 metres leaving Sheriff goalkeeper Georgios Athanasiadis stranded after it clipped Cristiano's outstretched foot.
Toni Kroos doubled Real's lead on the stroke of half-time with a fine effort which cannoned in off the underside of the crossbar after a flowing move left the German midfielder with time and space to pick his spot.
Benzema made it 3-0 with a sublime strike from the edge of the penalty area into the bottom corner after he was teed up by left-back Ferland Mendy in the 55th minute, as Real kept their foot on the pedal.
The home side came close to pulling one back shortly after the hour as Real goalkeeper Thibaut Courtois parried Adama Traore's low drive and Sebastien Thill hit the post with a glancing header in the follow-up.
Real top the group on 12 points from five games, two more than second-placed Inter Milan with the result also sending the Italian champions through after they beat Shakhtar Donetsk 2-0.
Edin Dzeko scored twice to help Inter Milan reach the Champions League knockout stage for the first time in 10 years.
Dzeko's two goals came in the space of six minutes in the second half. Inter had been by far the superior team, but had been let down by poor finishing, while Shakhtar goalkeeper Anatoliy Trubin had also pulled off a number of good saves.
Inter had earlier had two goals disallowed, with Ivan Perisic and Lautaro Martinez seeing efforts ruled out.
Sporting Lisbon beat 10-man Borussia Dortmund 3-1 with two goals from Pedro Goncalves to clinch their spot in the Champions League knockout stages for the first time in 13 years and eliminate the Germans from the competition.
Goncalves struck twice in the first half to lead his team to their 10th straight victory in all competitions and nine points in Group C, three ahead of the Germans with a game left and a better head-to-head, after losing 1-0 in Dortmund in September.
Sporting - in the round of 16 for the first time since 2008-09 - made the most of a disastrous Nico Schulz clearance that sent the ball straight to Goncalves who flicked it past 'keeper Gregor Kobel after half an hour. He then rifled home from 20 metres nine minutes later to put Sporting firmly in the driving seat.
Dortmund, still without injured striker Erling Haaland, came out fighting after the break, but their hopes of a comeback were dashed when Emre Can was sent off in the 75th for a foul on Pedro Porro.
Sporting earned a penalty four minutes later and Porro headed in the rebound after Kobel had saved Goncalves' spot-kick to deny him a hat-trick. Dortmund scored their consolation in stoppage-time through Donyell Malen.
Sebastien Haller brought his Champions League goal tally to nine this season as he came off the bench to score both goals as Ajax beat Besiktas 2-1 to secure the top spot in Group C with five straight wins.
RB Leipzig scored four goals in a rampant first-half performance and added one more after the break for a comprehensive 5-0 victory away at Club Brugge that lifted them off the foot of Champions League Group A.
Leipzig are now in pole position to finish third in the standings and secure a berth in the Europa League, ahead of their Belgian hosts.
Rachid Ghezzal had given Besiktas the lead from the penalty spot in the 22nd minute after Noussair Mazraoui handled the ball from a corner by Ghezzal.
Haller first tapped in from close range after a cross by Nicolas Tagliafico in the 54th minute and then deflected a shot by Lisandro Martinez into the roof of the net 15 minutes later.
Haller is level with Bayern Munich's Robert Lewandowski as the top scorer in the Champions League this season.
A stunning header from Junior Messias in the dying minutes handed AC Milan a 1-0 win over Atletico Madrid and kept alive their hopes of qualifying for the last 16.
On a freezing night in Madrid, a packed crowd at the Metropolitano Stadium failed to spur on Atletico, who struggled to make any kind of impact against a Milan side who showed urgency and aggression in a must-win situation.
Brazilian Messias broke the deadlock in the 87th minute with a spectacular header after latching on to a perfect cross from Franck Kessie.
Wednesday's results means the race to see who will join group winners Liverpool in the next round will go down to the wire. Porto, who are on five points, as well as Milan and Atletico, who are tied on four points, will have to wait until the final round of fixtures to decide who will finish second.