St Petersburg: Roman Shirokov scored twice to lead Zenit St Petersburg to a 3-1 victory over 10-man Porto in their Champions League Group G match.
The Portuguese were forced to play with a man short for the entire second half after defender Jorge Fucile was sent off just before the break for picking up his second yellow card.
James Rodriguez had fired the visitors ahead in the 10th minute, slotting home at the far post from a Hulk cross following a quick counter-attack.
Shirokov levelled 10 minutes later when Porto keeper Helton failed to hold on to a Viktor Faizulin cross, allowing the midfielder to fire into an empty net.
Porto, twice European champions and winners of the Europa League last season, looked more dangerous in the first half.
Alvaro Pereira fired a powerful shot into the top corner, forcing Zenit keeper Vyacheslav Malafeyev to make a diving save.
But the Russians, desperate for their first win after a shock 2-1 defeat at APOEL Nicosia in their group opener two weeks ago, pressed their numerical advantage after the interval.
Alexander Kerzhakov, joint top scorer in the Russian league with 15 goals so far this season, wasted a great chance three minutes into the second half when he blasted his shot against the post from 10 metres with the goal at his mercy.
The home team also had an effort disallowed by English referee Howard Webb for a marginal offside against Kerzhakov before Shirokov finally made it 2-1 midway through the second half after another smart move by Faizulin.
Portugal winger Danny sealed the win 18 minutes from time, putting Zenit level on three points with Porto, who had never lost to a Russian team in European competition, and APOEL who were visiting pointless Shakhtar Donetsk later on Wednesday.