Former Porto striker Hulk scored the equaliser and then missed a penalty as Zenit St Petersburg earned a draw against the Portuguese side this evening.
Early on Zenit goalkeeper Yuri Lodygin almost gifted the visitors a goal when he spilled Danilo's long-range effort, but managed to claw the ball back just before it went over the line.
The visitors did go in front midway through the first half when Danilo this time crossed to the back post, where Lucho Gonzalez headed down into the ground and into the corner of the net.
Porto's lead only lasted five minutes as former player Hulk levelled by capitalising on some hesitant defending to round Helton and pass into an empty net.
The Brazilian then had a golden opportunity to put Zenit ahead from 12 yards after Nicolas Otamendi blocked a cross with his hand, but his penalty was saved by Helton.
Zenit continued to pile on the pressure in the remaining minutes as Andrey Arshavin spurned the best chance of the closing stages as the match finished level.
A point sees Zenit move to five points from four games, with Porto are a point further back in third place.
The other match in Group G later this evening sees top-of-the-table Atletico Madrid face bottom side Austria Vienna. Victory for the Spanish club will guarantee their place in the last 16.