A Nicolas Lombaerts goal in first-half stoppage-time guided Zenit St Petersburg to a deserved 1-0 victory over Shakhtar Donetsk as they moved a step closer to the UEFA Champions League knockout stages.
Lombaerts headed home Viktor Fayzulin's corner as the Russian side finally beat Shakhtar goalkeeper Olexandr Rybka who had been in inspired form. Victory saw Zenit move to the top of Group G ahead of the later game between APOEL Nicosia and Porto.
It was a scrappy opening to the game with both sides having penalty appeals waved away. Zenit midfielder Danny was pivotal to the hosts' early dominance and they almost went ahead just before the half-hour mark.
Neat interplay between Danny and Igor Denisov saw the latter produce a clean strike from the edge of the area which Rybka saved with his legs before the goalkeeper picked himself up to block Konstantin Zyryanov's close-range follow-up.
Roman Shirokov then played through Alexander Bukharov with a beautiful curled ball but his team-mate sent his shot wide. Denisov had another shot on target which was sent straight at the keeper before Danny hit the post from an impossible angle.
Danny was finding space everywhere and he chipped the ball on to Denisov's head from the left of the area which the striker directed towards the top corner, but Rybka somehow clawed it away for a corner.
Bukharov then got across his marker to loop a header just over and Rybka saved again from Shirokov before the hosts finally broke the deadlock at the end of the first half. Fayzulin whipped in a corner from the right which was perfect for Lombaerts, the Belgian defender meeting it in the six-yard box and heading the ball down with Rybka finally beaten.
The Ukrainians were attacking in great numbers and whipping crosses into the box as the second half progressed although this left them open at the back. Shirokov curled the ball wide after wriggling through in the area, while Willian unleashed a shot with which home keeper Viacheslav Malafeev took no chances, tipping it over.
Srna dragged a shot wide and while the visitors were enjoying greater possession than in the first half, there were few clear-cut chances from either side. Bukharov then ran on to a pass from Danny as Zenit broke, but he was off balance and shot high and wide.
Substitute Eduardo almost picked out Seleznyov, but the ball was just intercepted as Shakhtar desperately tried to rescue something but Zenit saw out the game.