Benfica clinched the victory thanks to Franco Cervi's tap-in, Pizzi's penalty and an own goal from Sardar Azmoun as Zenit played over a third of the match with 10 men after Douglas Santos' dismissal.
Zenit finished bottom of the group as Lyon fought back from two goals down to draw 2-2 against RB Leipzig and ended up a point ahead of them in Group G.
Benfica claimed the Europa League spot courtesy of a better head-to-head record with the Russian side with both teams level on seven points.