A 4-2 win at home against Greek side PAOK secured Lyon a first-placed finish in the Europa League standings as Roma - without the injured Evan Ferguson - scraped into eighth place and a direct passage to the last 16 with a draw at Panathinaikos on the final league phase matchday on Thursday.
Republic of Ireland striker Ferguson was left out of the Roma squad, with Italian media reporting he trained alone on Wednesday due to an ankle problem resurfacing.
His teammates made things tricky for themselves, Gianluca Mancini bringing down Milos Pantovic in the 15th minute as the Panathinaikos forward hared towards goal. Mancini was given a straight red after a VAR check.
The hosts broke the deadlock just before the hour mark when Vicente Taborda punished sloppy Daniele Ghilardi play to fire home.
However Roma got a valuable leveller ten minutes from time through a fine Jan Ziolkowski header.
A scintillating first-half display inspired Celtic to book a place in the play-off round with a 4-2 win over FC Utrecht.
Nottingham Forest will join Celtic in the play-offs, but they secured home advantage for the second leg after putting Robbie Keane's Ferencvaros to the sword with a 4-0 victory.
Porto benefitted from Ferencvaros' defeat, with their 3-1 triumph over Rangers enough to send them directly into the last 16.
Djeidi Gassama fired Rangers into a surprise sixth-minute lead, but their domestic resurgence under Danny Rohl was unable to translate into a second Europa League win of the campaign.
Rodrigo Mora, Francisco Moura and an own goal by Emmanuel Fernandez in the first half put Porto in control and they eased to victory to squeeze into the top eight.
Aston Villa had to settle for second place behind Lyon but almost dropped down a place before they fought back from two goals down to get the better of RB Salzburg 3-2.
FC Midtjylland moved up to third after they defeated Dinamo Zagreb 2-0.
A 2-1 win for Real Betis over Feyenoord secured them home advantage in the second leg of their last-16 tie, with Freiburg's narrow loss at Lille dropping them to seventh.
Braga completed the top eight after a draw on the road at Go Ahead Eagles.
Young Boys' 3-2 loss at Stuttgart meant they missed out on the play-offs at the expense of Ludogorets, who defeated Nice 1-0 score to sneak in.
Brann finished in 24th position despite going down 1-0 at Sturm Graz.
Elsewhere, Maccabi Tel Aviv finished bottom of the group after a 3-0 home defeat to Bologna and Malmo also went winless following a 2-1 loss at Genk.
Red Star Belgrade drew 1-1 with Celta Vigo, which was also the score between FCSB and Fenerbahce, while Viktoria Plzen won at Basel.