Paulo Fonseca's men know victory against the Spaniards at the Vicente Calderon is essential if they are to avoid crashing out of Europe's premier club cup competition
Porto head to Atletico Madrid on Wednesday knowing only a win will give them a chance of progressing in the Champions League.
The Primeira Liga club currently sit one point behind Zenit in Group G, but the head-to-head record between the sides means that Paulo Fonseca's men need to pick up three points and hope that the Russians fail to beat Austria Vienna.
Atletico are already through to the knockout stages, having won four out of four prior to a 1-1 draw at Zenit last time out.
It was the Liga club who came out on top when these sides met in Portugal on October 1, Diego Godin and Arda Turan finding the net in a 2-1 victory in Portugal.
The Primera Division's second-placed club have won nine successive games at home since being held to a 1-1 draw by Barcelona in the first leg of the Supercopa de Espana in August.
They have also won 16 of their last 19 fixtures in all competitions, aided by striker Diego Costa, who has netted 15 goals in as many Liga appearances.
Porto, meanwhile, have endured a disappointing Champions League campaign so far. A tally of one point from three home games represents their worst return in the competition.
Porto’s 53-match unbeaten run in their domestic league also came to an end recently, with a 1-0 defeat at Academica on November 30.
The reigning Portuguese champions had won 42 and drawn 11 during their terrific sequence of results.
Both Porto and Atletico enjoyed victories in their most recent domestic fixtures, though, with the former overcoming Braga 2-0 in the league and Diego Simeone's men hammering Sant Andreu 4-0 in the Copa del Rey at the weekend.
Nabil Ghilas recovered from a muscle problem in time to appear on the bench for Porto on Saturday and could feature this time around as Fonseca has a full squad to choose from. Atletico's only absentee is Juanfran, who is serving a one-game ban.