- Zenit continue best ever start to a group stage with third win in three matches
- In-form Russia striker Artem Dzyuba on target for fifth successive game for Zenit
- Brilliant second-half goals from Alexandre Lacazette and Hulk
- Lyon stay on one point, five points adrift of Valencia in second
- The teams play again at the Stade de Gerland on 4 November
Hulk struck a fine long-distance effort as Zenit made it three UEFA Champions League wins from three to leave Lyon on the brink.
The Russian side were on top for much of the evening, and were ahead inside three minutes as Artem Dzyuba calmly slotted. It took a moment of brilliance from Alexandre Lacazette to restore parity at the beginning of the second period but parity was brief. Hulk made sure of that.
Lyon coach Hubert Fournier said this represented his team's "last opportunity" on the eve of the game but the carrion call apparently fell on deaf ears amid a surprisingly low-key first-half showing. Dzyuba's strike did not help, but there was little in the way of a response.
Hulk celebrates his fine strike
Instead the Russian hosts and Hulk in particular led the charge, with the soundtrack provided by their fans running through the repertoire of rock band Leningrad (Zenit fans themselves). They could so easily have gone 2-0 up as Dzyuba slipped with the goal at his mercy.
It was all a bit too easy, but Lyon emerged for the second period a force renewed. Within four minutes they were level. There were plenty of blue shirts back when Christophe Jallet volleyed in a first-time cross but none foresaw Lacazette's lovely flick with his trailing leg.
Hulk can do cute, too, but his equaliser seven minutes later was all brawn after he turned the ball over on halfway. The Brazilian drove into a position about 30 metres out before unleashing a left-footed thunderbolt that tantalisingly bent away from Anthony Lopes and into the net.
With seven minutes left, Hulk and Oleg Shatov combined on the counterattack, teeing up Danny for a simple finish to wrap up the points.
André Villas-Boas, Zenit coach
This is a fantastic win. I'm glad we won, but we still have an important second game in France, and that meeting will be very important for Lyon. Our players deserved this victory. The only difference [between Zenit's domestic and European form] is in mistakes. In the Russian league we're making them; in the Champions League we haven't, and that is why we have nine points after three matches.
Hubert Fournier, Lyon coach
Last year we had a good season, but the reality is that now we're not good enough to get to the round of 16. Yes, we still have a mathematical chance of qualifying but really, taking into account our opportunities, we expect to take third place. Now it's more frustration than regret. In the three games we sometimes played well, and needed to take more than one point from them.