ST. PETERSBURG, Russia -- Zenit had to settle for a 1-1 draw against Porto in the Champions League on Wednesday after the Russian side's striker Hulk missed a penalty against his former club.
Lucho Gonzalez gave Porto the lead by heading in Danilo's perfect cross from the right after 23 minutes.
Zenit equalized five minutes later when Hulk took advantage of a mix-up in the Portuguese defence. The former Porto forward pounced on Roman Shirokov's pass to stroll past defender Alex Sandro and goalkeeper Helton before prodding the ball into an empty net.
Though Porto side dominated the first half, Zenit improved after the break and Hulk missed his chance to score a second when Helton saved the Brazilian's low penalty in the 52nd minute following a handball by Nicolas Otamendi.
The draw kept Zenit second in Group G, behind Atletico Madrid but a point ahead of Porto.
"Porto played better in the first half but in the second half, we dominated and should have scored to win the match," Zenit coach Luciano Spalletti said.
"Nothing is yet decided in our group. If we play the remaining matches the way we played in the second half, we can beat any opponent and advance to the next round."
Porto enjoyed all the possession from kickoff, with defender Danilo testing keeper Yuri Lodygin in the seventh minute. Jackson Martinez sent an effort wide 10 minutes later -- after Aksel Witsel had fired high the home side's first chance in the game.
Hulk then had his first shot on goal as the home side struggled to find its game and relied on counter attacks.
Danilo broke down the right flank to set up the visitors' deserved lead, with Gonzalez's downward header giving the keeper no chance.
Spalletti was forced to make an early substitution by sending on striker Alexander Kerzhakov for the injured Danny.
Kerzhakov duly started the attack that led to the equalizer, with Hulk racing through while Porto's defence dithered over which of them should clear Shirokov's pass.
However, Zenit turned the game its way in the second half, playing more aggressively and constantly threatening the Porto defence.
Oleg Shatov missed the target in the 50th before Hulk failed to beat Helton from the penalty spot, while Lodygin blocked Eliaquim Mangala's header at the other end in the 59th minute.
Former Arsenal midfielder Andrei Arshavin came on for Shirokov in the 67th and helped to lead Zenit's attacks. Helton dived to save Arshavin's low shot the 73rd.
"I really liked the way I ran today," Arshavin said. "We really played badly in the first half and failed to find our game. If Hulk had scored the penalty, we could have definitely won. Porto looked more tired in the second half while we found our game."
Hulk had one last chance to score the winner but his curling free kick from 26 metres was easily blocked by Helton three minutes into stoppage time.
Zenit will next host Atletico Madrid on Nov. 26, while Porto will be at home to face Austria Vienna.
Qualifying for the knockout stages is clearly possible for Porto, but is more difficult now for the 2004 Champions League winners.
"We could have won and there were chances to do that, especially in the first half," Porto coach Paulo Fonseca said. "In the second, Zenit improved and showed what they're capable of.
"Zenit have one more point and they have the advantage. Now we have to win two matches and wait for our rivals to slip up."
Atletico was playing Austria Vienna later on Wednesday.