Read Sports Mole's minute-by-minute report below to find out how the action unfolded.
4.01pmHello there and welcome to Sports Mole's live text coverage as Zenit St Petersburg host Porto in Group G of the Champions League.
4.03pmIf we have a winner tonight then they will take a big step towards the last 16 of the competition. Atletico Madrid look to be running away with Group F following three wins out of three, but the second qualification spot is very much up for grabs.
4.05pmZenit are currently in second place in the standings with four points, while Porto are just one point behind in third place.
4.08pmThese two teams played in Portugal two weeks ago, with Zenit claiming a 1-0 win courtesy of Aleksandr Kerzhakov's goal four minutes from time. That has put the Russians in a strong position with regards to making the last 16, but a victory for Porto tonight would change everything.
4.10pmWe're just waiting for the team news from both sides and will bring it to you as soon as we get it.
4.12pmZENIT: Lodigin; Ansaldi, Hubocan, Lombaerts, Criscito; Fajzulin, Witsel; Sjatov, Sjirokov, Danny; Hulk
4.15pmZenit have made a total of three changes to the side that earned a narrow win over Porto two weeks ago. Tomas Hubocan and Domenico Criscito come into the starting XI, while Axel Witsel returns from suspension.
4.18pmPORTO: Helton; Danilo, Mangala, Sandro, Otamendi; Lucho Gonzalez, Josue, Fernando, Defour; Jackson Martinez, Varela
4.20pmJust the two changes for Porto as Silvestre Varela and Steven Defour are selected by manager Paulo Fonseca. Meanwhile, Ander Herrera misses out through suspension after picking up a red card during the reverse fixture in Portugal.
4.22pmZENIT SUBS: Baburin, Neto, Anyukov, Zyryanov, Tymoshchuk, Kerzhakov, Arshavin
4.24pmPORTO SUBS: Fabiano, Maicon, Reyes, Lica, Agu, Ghilas, Ricardo.
4.28pmOf course, one of the main sub-plots tonight is that Zenit striker Hulk is coming up against his former club for the second time. The Brazilian spent a successful four-year spell with the Portuguese side before joining Zenit in a deal worth in excess of £33m. Such is the high regard that they hold Hulk in at Porto they built a statue of him in their museum.
4.30pmOne thing for certain is that Hulk is unlikely to celebrate if he scores against his former employers tonight. Unless it's an injury-time winner. He might go a bit bonkers if that happens, and who would blame him?
4.38pmDomestically it's looking pretty good for both of these teams. Zenit are three points clear at the top of the Russian Premier League, while Porto sit three points clear in the Primeira Liga.
4.43pmHEAD TO HEAD: Zenit and Porto have met a total of three times down the years, with the Russians boasting the better record. Zenit have won two matches, while the teams have played out a draw on one occasion.
4.45pmRather worrying for Porto is that they have only managed one goal in three encounters with Zenit. They will be looking to amend that disappointing statistic tonight. Around 15 minutes until kickoff.
4.49pmIf you're interested in how the weather's looking in Russia it's chilly. There's a bit of rain in the air as well.
4.54pmThe players are in the tunnel, ready to step out onto the pitch at the Stadion Petrovski. Lots of concentration on their faces as both teams look to make a giant leap towards the last 16. Kickoff is fast approaching.
1 minHere come the players as the Champions League anthem is piped through the PA system. The pre-match rituals are completed and it will be Porto to get us underway. Here we go!
3 minThis has been a very good start indeed from Porto. They've dominated possession so far and have used the ball well in the final third. A couple of crosses have been pumped into the Zenit box, but the home defence have dealt with the danger both times.
6 minZenit are starting to get hold of the ball a bit more, through they aren't being afforded too much time on it as Porto press high up the pitch. The visitors are full of energy at the moment, forcing their opponents into errors.
7 minCHANCE! Almost a nightmare for Zenit goalkeeper Lodygin as he spills Danilo's long-range effort, but he manages to recover and nonchalantly stops the ball crossing the line. That could have been embarrassing for the shotstopper.
9 minMISS! Zenit have their first meaningful opportunity of the match as Hulk rolls the ball to Witsel on the edge of the box, only for the midfielder to smash his effort high and wide. That was woeful.
12 minIt's still Porto who are asking all of the questions right now. You'd be forgiven for thinking that they're the home side instead of the visitors. Zenit are being limited to the occasional counter-attack.
15 minPorto win a free kick in a promising position, but Josue's delivery is poor and Zenit clear. One thing that is standing out about the home side this evening is that their passing has been below par. Whenever they get on the ball it's a bit scrappy, and they aren't showing the same kind of desire to win it back as Porto.
20 minIt's quite remarkable how dominant Porto are at the moment. The Portuguese side are practically camped out inside the Zenit half, trying to find a way through. However, the game remains goalless.
21 minCHANCE! Varela gets a sight of goal on the edge of the box following good work from Danilo, but the striker can only blaze the ball high over the crossbar. Not a good strike.
22 minGOAL! ZENIT 0-1 PORTO (LUCHO)
22 minWell, you have to say that it's been coming! Porto lead thanks to Lucho. The ball was whipped into the penalty area by Danilo and Lucho was able to guide a superb header past Lodygin and into the far post.
25 minPorto may have taken the lead but that hasn't silenced the Zenit fans. The Russian supporters are still causing quite the racket inside the stadium as their team looks for a way back into the match.
26 minSUBSTITUTION: An early change for Zenit sees Danny replaced by Aleksandr Kerzhakov.
27 minGOAL! ZENIT 1-1 PORTO (HULK)
27 minZenit aren't behind for long as former Porto striker Hulk pounces after a comedic defensive mix-up by the visitors. An innocuous pass into the penalty area was left by a couple of defenders and the goalkeeper, allowing Hulk to sneak in and roll the ball into the net. No celebration from the big Brazilian though.
30 minCHANCE! Almost a second goal for Porto as Defour bursts into the box, but the Belgian's touch is a heavy one and Zenit see the ball out of play.
33 minPorto threaten again through Lucho, who curls the ball well over the crossbar from 18 yards. He should have at least got his effort on target there. Either way, this is much more of an even game now. Porto were dominating but they only have themselves to blame for letting Zenit back into it.
37 minGood defending from Otamendi there to deny Zenit a second goal. The hosts broke quickly through Kerzhakov, who tried to pick out Shirokov in the box. However, the Porto defender was there to poke the danger away.
40 minFive minutes of normal time left in this first half and both sides look capable of getting on the scoresheet again. It's all a bit scrappy and end to end at the moment.
43 minThere have been a couple of tasty challenges from both sets of players tonight, but the referee has kept his cards in his pocket so far. Porto win a free kick that Danilo whips into the area, only for Lodygin to gather impressively.
45 minOne minute added time.
45+1 minHALF TIME: ZENIT 1-1 PORTO
5.48pmThe half-time whistle goes and it's 1-1 between Zenit and Porto. Lucho Gonzalez gave the visitors the lead in the 22nd minute with a brilliant header before former Porto striker Hulk levelled things up soon after when he capitalised on some poor defending from the away side. All in all that wasn't too bad an opening 45 minutes.
5.50pmIf the match ends like this, Zenit will be the far happier team. They currently lead Porto by one point in the standings as both teams look to secure that second qualification spot behind Atletico Madrid.
5.54pmPorto started the match very strongly indeed and deservedly took the lead. However, they will be furious with themselves for gifting Zenit such a soft equaliser. How crucial could that be come the end of the qualification campaign?
5.57pmSpeaking of Atletico Madrid, the Spaniards haven't actually qualified for the last 16 yet but they can seal their progress with a win against Austria Vienna tonight. If their recent form is anything to go by, you wouldn't bet against Diego Simeone's side getting the three points later.
46 minRight, the players are back out and it will be Zenit to kick us off for this second half.
48 minIt's been an even start to the second period so far, with Zenit looking far more comfortable on the ball than what they did during the opening 45 minutes. No chances as of yet though.
50 minZenit get an opportunity now as Shatov fires past Helton's near post. That was always going off target, but it had the Porto goalkeeper worried.
50 minPENALTY TO ZENIT!
51 minThe referee points to spot as Otamendi blocks a cross with his hand. No complaints from Porto.
51 minPENALTY SAVED!
51 minHulk hangs his head in shame and so he should because that was a terrible penalty. The Brazilian striker's effort was a weak one, allowing Helton to make the save down to his right.
54 minHow important could that penalty incident be? Zenit have started the second half brightly and could have capitalised on their early dominance. However, Porto are now starting to find their rhythm.
56 minYELLOW CARD: The first booking of the night goes the way of Porto's Fernando for a shove on Shatov.
60 minAn hour played and it's Porto who look the more likely to score right now. The visitors are getting plenty of joy down the flanks, while Zenit are struggling to get out of their own half.
61 minYELLOW CARD: Porto's Sandro now goes into the book for bringing down Hulk. There could be an argument there that Sandro was the last man, but the referee saw that there was cover. Hulk takes the resulting free kick and smashes the ball high over the bar.
65 minPorto are just picking holes in the Zenit defence at the moment. The Russian full-backs are having a torrid time as the visitors maraud forward at every available opportunity. Zenit are just about hanging in there, though they can't keep getting exposed like this for much longer.
67 minSUBSTITUTION: Zenit make another change now as Arshavin is introduced in place of Shirokov. Can the local lad make a difference?
68 minSAVE! Good stop from Lodygin as the Zenit goalkeeper gets down low to keep out Martinez's long-range strike. That one looked like it was creeping in the bottom corner.
70 minTwenty minutes left of normal time at the Stadion Petrovski. Are we going to see a winning goal in that time. Porto are still playing like they want it more.
72 minCHANCE! A good opening comes the way of Zenit as Shatov tees up Kerzhakov, but the substitute hits the ball over the crossbar from the edge of the box with his first-time effort.
73 minSAVE! How important could that stop by from Helton? The ball is flicked through to Arshavin who sees his shot from close range kept out by the Porto goalkeeper. Arshavin had the whole goal to aim at there, only to shoot straight at the shotstopper.
75 minSUBSTITUTION: A change for Porto now as Lica comes on for Josue.
77 minThe momentum has now swung Zenit's way. The Russians are suddenly full of life as they push for a winner. Witsel tries to work himself some space in the box before Danilo steams in with a full-blooded challenge.
79 minFernando has a pop at goal from the edge of the area, but he slips at the vital time and Lodygin makes a simple save.
80 minSUBSTITUTION: The home side make their final swap of the night, with the experienced Zyryanov replacing Witsel. We're into the final 10 minutes.
84 minZenit win a free kick right on the edge of the area as Otamendi fouls Hulk, but Kerzhakov smashes the ball into the wall. That was a disappointing effort from the substitute. Meanwhile, Shatov goes into the book for chopping down Sandro.
85 minCHANCE! Nearly a spectacular winner from Ansaldi as the full-back unleashes a ferocious half-volley from 25 yards. However, it goes narrowly wide with Helton well beaten.
87 minPENALTY APPEAL! Zenit get away with one there as Mangala pulls down Hulk inside the area. The Russians appeal to the referee, but he waves away the protests. What a big let off for the visitors because that looked like a certain penalty.
89 minYELLOW CARD: Zenit substitute Zyryanov goes into the book for a foul on Mangala. Not long to go now.
90 minThree minutes added time.
90+3 minFULL TIME: ZENIT 1-1 PORTO
6.52pmThe full-time whistle goes and Zenit St Petersburg have played out a 1-1 draw with Porto. Both teams have kept their hopes of reaching the last 16 alive after Hulk cancelled out Lucho Gonzalez's opener. The hosts could have won it in the second half, but Hulk saw his penalty saved by Helton.
6.54pmAnyway, that's all from me but don't forget that you can keep up to date with the rest of tonight's Champions League action right here on Sports Mole. We have live text coverage from all seven games this evening, so have a look around and see what takes your fancy. Goodnight!