Captain Memphis Depay scored the key equaliser as Lyon rallied from two goals down to claim a Champions League last 16 place on Tuesday after a 2-2 draw with RB Leipzig.
Emil Forsberg and Timo Werner both scored from the penalty spot for the Germans before Houssem Aouar and Depay netted for Lyon, who reached the knockout phase as Zenit lost 3-0 to Benfica in the other Group G game.
Lyon's Rudi Garcia made two changes from the side who beat Nimes on Friday as winger Martin Terrier and midfielder Lucas Tousart started.
Leipzig coach Julian Nagelsmann, safe in the knowledge his side were guaranteed top spot, brought in five new faces following their convincing weekend victory over Hoffenheim.
Forsberg opened the scoring after nine minutes as he slotted in from the spot after referee Anthony Taylor checked an Anthony Lopes foul on Yussuf Poulsen with VAR.
Naglesmann's men doubled their advantage 24 minutes later after Tousart felled Christopher Nkunku in the box.
Germany forward Werner converted the penalty for his 20th goal in all competitions for the season.
Lyon's best chance to halve the deficit in the first half fell to Moussa Dembele two minutes into injury time. His powerful deflected effort smashed against the crossbar and the Germans cleared the danger.
Houssem Aouar gave Lyon reason to believe five minutes into the second half with a curling lob over Peter Gulacsi.
Dembele then could have made up for his earlier miss on 63 minutes but he failed to make contact with a low driving Terrier cross.
Dutch international Depay claimed the crucial goal with eight minutes remaining when his low shot beat Gulacsi at his back post.
Substitute Konrad Laimer could have knocked Lyon out of Europe in the closing stages but looped his effort over the crossbar.
Benfica will parachute into the last 32 of the Europa League after pipping Zenit to third place in the group following victory in Lisbon.