Zenit St Petersburg are on the verge of reaching the last 16 of the Champions League after taking the lead against Lyon.
After a cagey start at the Stade de Gerland, Andre Villas Boas's men almost took the lead after Anthony Lopes spilled a cross from Domenico Criscito before Danny saw his shot cleared off the line by Samuel Umtiti.
Lyon responded with a chance of their own when Spanish midfielder Sergi Darder produced a curling strike from the edge of the penalty area, but his effort lacked power as Yuri Lodygin managed to collect comfortably.
Instead, Zenit, looking to preserve the last remaining 100% record in the group stages pressed for a breakthrough, with Hulk's reverse pass teeing up Danny. However, the midfielder was guilty of dithering on the ball, allowing Lopes to save.
St Petersburg finally edged in front midway through the half when Hulk broke through the Lyon backline before cutting back to Artyom Dzyuba to score.
Lyon almost got back on level terms, however, as Corentin Tolisso dragged a shot wide before Maxime Gonalons forced a fingertip stop from Lodygin.
OL then had their best chance to equalise nine minutes before the interval as Henri Bedimo fired a shot by Lodygin, but struck the crossbar.