A brace by Roman Shirokov stole the show for the home side, which will not look kindly on keeper Yuri Zhevnov for two errors that cost two away goals.
Zenit St Petersburg ran out 3-2 winners over Benfica after a thrilling Champions League Round of 16 match at the Petrovsky Stadium.
Maxi Pereira opened the scoring for the visiting side 20 minutes in, but a pair of well taken goals in either half from Roman Shirokov and Sergey Semak gave the home team the advantage.
A late equalizer from Oscar Cardozo appeared to restore parity for the second leg, but Shirokov rounded off his brace with two minutes to go to send the tie to Lisbon on a knife’s edge.
Conditions were well below freezing, and with the home side playing its first competitive match in two months, it was no surprise that the first half unfolded in fits and starts with both teams struggling to establish a rhythm.
Perhaps befitting the disjointed tone of the opening exchanges, it was a scrappy goal from Benfica that broke the deadlock after 20 minutes. A free kick by Cardozo was fumbled by Yuri Zhevnov, which gave Pereira an empty net to poke home the rebound.
Zenit was not fazed by the setback, and went on the offensive moments later through Aleksandr Kerzhakov, who forced Artur to block his effort from a corner at the near post.
However, the Benfica keeper could do nothing about the equalizer in the 28th minute, after an inviting cross by Tomas Hubocan was volleyed superbly by Shirokov into the bottom corner.
Neither side was able to maintain the momentum for long. The match slowly settled into a lull as the first half drew to a close. Things did not get much better after the interval, with both sides remaining content to err on the side of caution as the second half progressed.
Cardozo was belatedly able to spark things into life in the 69th minute after he managed to squeeze a shot towards goal, which forced Zhevnov into an awkward scrambling save.
However two minutes later, Zenit took the lead for the first time after another well worked goal. Kerzhakov raced down the right to flick the ball towards Vladimir Bystrov, and his low cross found fellow substitute Semak, who turned the ball home with a clever flick of his own.
Kerzhakov was at it again a few minutes later after he was found in space inside the area, but the forward elected to blast the ball into the side netting instead of cutting back towards one of his better placed teammates.
With three minutes to go, Benfica grabbed an equalizer through Cardozo after another fumble by Zhevnov allowed the Paraguayan the simplest of finishes from barely a yard out.
The drama was not done, and Zenit regained the lead a minute later. A failed clearance by Pereira and a spill by Artur allowed Shirokov an open goal to give the Russian outfit a slender advantage heading into the second leg, which takes place on March 6 in Lisbon.