Porto comfortably beat Marseille 2-0 away on Wednesday to move to the brink of qualifying for the Champions League knockout phase.
Zaidu Sanusi's goal and Sergio Oliveira's penalty put Porto on nine points from four games in Group C while Marseille, who became the first team to lose 13 straight games in the competition since it was launched in 1992-93, were eliminated with zero points.
Manchester City advanced with a perfect four wins from four group games with a 1-0 victory at Olympiakos, who with three points have a remote chance of leap-frogging Porto into second place.
Both teams finished with 10 men after Porto's Marko Grujic and Marseille's Leonardo Balerdi were sent off, in the 67th and 70th minutes, respectively.
After a minute's silence in memory of Argentina great Diego Maradona, who died on Wednesday, Porto soaked up the pressure in the opening stages before taking control of the game.
They were rewarded six minutes from the break when Sanusi netted from the rebound after his first attempt had been saved by goalkeeper Steve Mandanda.
Marseille were thrown a lifeline when Grujic was sent off for a second bookable offence, but they quickly wasted their chance.
Balerdi soon received a second yellow card for bringing down Marega, and Oliveira doubled Porto's advantage by converting the resulting penalty.