AC Milan wasted a chance to make the Europa League knockout stage with two games to spare after AEK Athens held it to a second straight goalless draw on Thursday.
The other favourite, Arsenal, advanced despite also being in a goalless game.
Lazio won Group K to secure a knockout spot after beating Nice 1-0 thanks to Maxime Le Marchand's own goal in injury time.
Dynamo Kiev made it through from Group B by beating Young Boys 1-0, and a 1-1 draw was also enough for Romania's FCSB against Hapoel Beer-Sheva in Group G. Russia's Zenit also made sure to draw at Rosenborg to advance from Group L.
In an unusual incident, Marseille substitute Patrice Evra was given a red card before his game in Portugal because of a clash with the crowd. A photo showed him aiming a kick at a fan's head after reported arguments between him and Marseille supporters.
Marseille lost to Vitoria 1-0.
Another Italian club, Atalanta, was on course to advance before conceding a goal deep in stoppage time in Cyprus.
Everton hopes were squashed.
Here's a look at the action:
MILAN'S SCORING DROUGHT
Milan scored eight goals in the first two group matches then began to emulate its poor performances in Serie A, where it lost to Juventus 2-0 at home on Saturday and has won just one of its past six matches.
Milan strikers Andre Silva and Patrick Cutrone were kept at bay by solid AEK defending.
Austria Vienna won at Rijeka 4-1 in another game in Group D. All four teams still have a shot to make the next round.
ARSENAL FOLLOW SUIT
Arsenal manager Arsene Wenger usually rests his stars in Europe, and he replaced the entire lineup that beat Swansea 2-1 on Saturday. In goal, Matt Macey made his European debut. He was OK, the problem was at the other end.
Striker Olivier Giroud should have converted one of his many chances.
Arsenal leads Group H by five points from Red Stars. Third-placed BATE lost at Cologne 3-2.
Lyon knocked out struggling Everton 3-0, with all the goals in the second half.
Bertrand Traore scored the first on a fast counter, substitute Houssem Aouar added the second, and Memphis Depay finished Everton off with a header.
Everton now can fully concentrate on reviving its Premier League campaign. It sits in the relegation zone. Everton's Cuco Martina was taken off on a stretcher before halftime with concussion and neck pain. He will be in a Lyon hospital overnight.
Atalanta led Apollon Limassol 1-0 from halftime to deep into the match, and looked set to advance after a 26-year absence in Europe. But then Emilio Zelaya equalised four minutes into injury time.
Atalanta and Lyon still control Group E, five points ahead of Apollon.
KIEV KICKS ON
Dynamo Kiev needed a win over Young Boys in Bern and got it courtesy of Vitaliy Buyalskiy, who scored late.
Dynamo leads Group B by five points from Partizan Belgrade, which was second after beating Skenderbeu 2-0.