Russian champions Zenit St Petersburg came from a goal down to beat Portuguese giants Benfica 3-2 in their Champions League last 16 first-leg encounter here on Wednesday.
Zenit midfielder Roman Shirokov netted a double - taking his tally to five in this season's competition - while substitute Sergei Semak got the hosts other goal.
Benfica's goals came from defender Maxi Pereira and Paraguayan striker Oscar Cardozo, both after errors by goalkeeper Yury Zhevnov.
"It was a nervous match," Zenit manager Luciano Spalletti said.
"My players showed really good skill. They showed a lot of heart to win the match in such a grave situation. However they did exactly what we decided to do ahead of the match. We won deservedly tonight."
The visitors manager Jorge Jesus meanwhile said he was upset with the result but was expecting an even tougher battle in the second leg.
"It was really tough to play here," he said. "We allowed Zenit to score three goals, that means we defended poorly this evening. It's a pity.
"But nothing is finished yet. The place in the next round will be decided in the return match. I think it will be even more tough."
The hosts, who came into the match lacking a competitive edge because the Russian league is on a winter break, coped well enough without several key players but still fell behind in the 20th minute.
Uruguayan star Pereira pounced after Zhevnov, standing in for injured first choice Vyacheslav Malafeyev, failed to hold Cardozo's freekick.
Benfica 'keeper Artur came to the visitors rescue in the 22nd minute as he saved well from Alexander Kerzhakov's shot from inside the area.
However he was unable to prevent Shirokov's equaliser in the 27th minute when the Russian international midfielder scored with a sweet right-footed volley from Tomas Hubocan's cross from the left.
Both teams had more chances to get the upper hand before the break with Benfica's former Argentinian international midfielder Pablo Aimar testing Zhevnov with a low effort from 20-metres out.
Both sides got mired in a midfield battle in the early stages of the second-half with the first clear chance falling to Zenit substitute Vladimir Bystrov in the 68th minute but he missed the target with a close-range sharp-angled shot.
Semak, though, gave the hosts the lead for the first time 19 minutes from the final whistle with a delightful backheel from Bystrov's cross.
The visitors poured forward and were rewarded when Cardozo equalised with three minutes remaining but Shirokov replied immediately with the winner, tapping home after a defensive mix-up.