Zenit St Petersburg left it late as they scraped a 1-0 UEFA Champions League victory at 10-man Porto on Tuesday.
Aleksandr Kerzhakov's 86th-minute header was enough for the visitors, who laboured to take advantage of Porto playing much of the game a man down.
The hosts found themselves reduced to 10 after six minutes of the Group G clash as Hector Herrera saw yellow twice in the space of a minute.
However, Zenit failed to make the extra man count for much of the game and, aside from a pair of Hulk chances in the second half, rarely threatened home goalkeeper Helton.
Porto more than held their own after the early setback, and twice hit the woodwork in a tie they arguably deserved to win. But the deadlock was finally broken four minutes from time as Kerzhakov sealed the three points for Luciano Spalletti's men.
The victory lifts Zenit to second in the pool, leapfrogging Porto in the process.
Paulo Fonseca made wholesale changes from the Porto team that triumphed over Segunda Liga basement club Trofense in the Taca de Portugal third round on Saturday.
Zenit, meanwhile, brought Cristian Ansaldi, Viktor Faizulin and Oleg Shatov in for Domenico Criscito, Konstantin Zyryanov and the suspended Axel Witsel after their 2-0 Russian top-flight win against CSKA Moscow last Friday.
The game got off to a nightmare start for the hosts at a far-from-full Estadio do Dragao, with Herrera sent off after receiving two yellow cards within six minutes.
His first for a reckless challenge on former Porto striker Hulk was immediately followed by a foolish second for encroachment on the resulting free-kick, meaning the Mexican marked his full Champions League debut with the fastest dismissal for a double booking in the competition’s history.
Despite being a man down, it was Porto who had the better of the chances early on, with Lucho Gonzalez rattling the angle between post and crossbar from 20 yards after 20 minutes and a stretching Lica unable to take advantage of the rebound.
Zenit struggled to settle and were reduced to speculative efforts from distance, with their best chance of the half being a curling Roman Shirokov effort from the edge of the area that drifted just beyond the far post.
With the match crying out for an injection of energy after the break, Porto substitute Silvestre Varela provided something of a spark as he cut in from the right, skipping past two defenders in the process, before skewing his strike wide of the left post.
Moments later at the other end, Hulk robbed Nicolas Otamendi of possession just outside the penalty area, but was denied by the outstretched foot of Helton after finding himself through one-on-one with the goalkeeper.
And Helton had to be alert again in the 65th minute, as Hulk powered a thunderbolt of a free-kick in his direction from 25 yards. It was too hot to handle, but the Brazilian punched clear to deny his former team-mate.
Varela, who looked lively after replacing Lica, went close for the hosts once again with just over 10 minutes left to play. He turned on the edge of the area and fired an effort against the Zenit crossbar, with goalkeeper Yuri Lodygin beaten.
However, it was Zenit who finally opened the scoring as Kerzhakov rose highest to head home from an excellent cross from Hulk on the right wing.
|16||H. Herrera||5' 6'|
|Coach: Paulo Fonseca|
for Licá 53'
for Josué 75'
for L. González 87'
|Benzema and Morata can play together - Zidane|
|Hummels plays down injury fears|
|Las Palmas 2 Real Madrid 2: Zidane´s men held again|
|Stones benefited from Moyes´ Everton exit, says Duffy|
|Allegri unconcerned by scrappy win|
|Montella demands Milan improvement|
|Ancelotti praises Thiago after Hamburg victory|
|Conte demands better attitude from Chelsea|
|Wenger hails stylish Arsenal display|
|Moreno the unlikely subject of Klopp´s praise|
|Walcott: We wanted it more than Chelsea|
|Phelan has ´no qualms´ over another handball red card|
|Arsenal 3 Chelsea 0: Sanchez, Walcott and Ozil pile on misery for Conte|
|That was how football should be - Klopp on Hull thrashing|
|Luis Enrique plans to keep Sergi Roberto on his toes|
|Karanka draws hope from Middlesbrough´s second half|
|Stoke is stitched into my body – Pulis|
|Palermo 0 Juventus 1: Own goal helps champions stay top|
|Hughes laments two ´stolen´ points|
|Wilshere can be a brilliant player for Bournemouth, says Howe|
|Defoe rues Sunderland collapse against Palace|
|Tottenham must be more clinical - Pochettino|
|Everton were second best, says Koeman|
|Benteke: I knew a chance was coming|
|Ranieri wants answers from Leicester players after Old Trafford thrashing|
|Board can call me if they want to talk - Guidolin|
|Sterling hails Guardiola´s impact|
|Sergi Roberto revelling in new role|
|Guardiola wants Aguero improvement despite scoring streak|
|Mourinho demands more from star man Pogba|
|Sporting Gijon 0 Barcelona 5: No Messi, no problem for ruthless champions|
|Stoke City 1 West Brom 1: Rondon snatches point as Pulis reaches 1000 games|
|Sunderland 2 Crystal Palace 3: Benteke´s late header stuns Black Cats|
|Swansea City 1 Manchester City 3: Aguero at the double for Guardiola´s perfect 10|
|Bournemouth 1 Everton 0: Stanislas wonder strike ends Koeman´s unbeaten start|
|Liverpool 5 Hull City 1: Coutinho stunner caps easy win|
|Middlesbrough 1 Tottenham 2: Son shines for Spurs|
|Hamburg 0 Bayern Munich 1: Late Kimmich goal maintains Bayern´s perfect start|
|Bayern facing defensive headache after Hummels limps off at Hamburg|
|Pogba and Mata delighted by United response|
|Vardy and Mahrez were rested for Porto, Ranieri admits|
|Mourinho completely trusts dropped Rooney|
|I beat Usain Bolt in a race - Bolasie|
|Juventus still Scudetto favourites - De Boer|
|Manchester United 4 Leicester City 1: Rooney watches on as Pogba inspires Red Devils demolition|
|Robben and Ribery are like Messi, claims Helmer|
|Pochettino hints at Vertonghen renewal|
|Robben´s style makes him an injury risk - Bayern fitness coach|
|Liverpool refuse to comment on Sakho´s social media outburst|
|Rooney dropped for Leicester City clash|
|Messi injury doesn´t matter to Barcelona - Abelardo|
|Thiago Silva worried by PSG form|
|Mourinho describes Wenger relationship as ´civilised´|
|Milito: Inter are no one-man team|
|Bilic delays naming daughter due to West Ham worries|
|Fernandinho hails ´intelligent´ De Bruyne|
|Matuidi: This season toughest for PSG|
|New York City 4 Chicago Fire 1: Villa nets twice in win|
|Pjaca not Morata - Allegri|
|Guardiola keen for Kolarov extension|
|England criticism changed Rooney - Mourinho|
|Gotze detractors don´t surprise Tuchel|
|Wenger laments missing out on Costa|
|Emery deflects blame from PSG players after Toulouse defeat|
|Guidolin: It´s not possible to beat Manchester City if you don´t play well|
|Mourinho prepared to bench Rooney|
|Fitness fears over Aubameyang with Real Madrid looming|
|Balotelli must remain serious, says Favre|
|Conte: Guardiola only better than me because he has it easy|
|No need for Aguero to calm down - Guardiola|
|Toulouse 2 Paris Saint-Germain 0: Aurier sees red as Emery´s side slip to surprise defeat|
|Borussia Dortmund 3 Freiburg 1: Aubameyang marks landmark game with goal|
|Argentina apologise for Bauza´s Barcelona criticism over Messi|
|Young players ´the spirit´ of Manchester United - Ferguson|
|Lack of Manchester United game-time ´frustrating´ for Rashford|
|Mazzarri rues ´bad injury´ for Janmaat|
|Sampaoli slams Messi treatment|
|Gray handed four-match ban for abusive posts|
|Valencia captain Parejo: I´ve been called a dog in the street|
|Leicester fairytale isn´t Ranieri´s best achievement|
|Former Parma chiefs get five-year bans from football|
|Three Burnley players sign new contracts|
|No complaints over Vidal post for Luis Enrique|
|Manchester City have no case to answer in Garre transfer|
|Angry Moyes slams Van Aanholt over shisha pipe photos|
|Van Basten appointed to FIFA role|
|Albiol signs new Napoli deal|
|Barcelona court re-opens Neymar transfer case|
|Barcelona want the best for Messi - Luis Enrique|
|Mourinho grudgingly helps to ´feed the Einsteins´|
|Mourinho defends embattled Rooney|
|Injured Martial to miss Leicester clash|
|Pochettino backs Janssen to fill Kane void|
|Conte admires Wenger´s ´fantastic´ Arsenal career|
|City confirm Kompany´s groin injury - no date for return|
|Allegri considers benching Dybala|
|´Benny V´ nets Tottenham deal|
|Zidane concern over Casemiro and Marcelo absences|
|Pardew backs Townsend for England recall|
|Terry ruled out of Arsenal clash|
|Kane requires second scan - Pochettino|
|Robben must settle for bench role, says Ancelotti|
|Zidane expects Barca to be weaker without Messi|
|Montero hopes to peak after signing new Swansea deal|
|Matuidi has ´no regrets´ over PSG stay|
|O´Neill, Keane sign new Republic of Ireland deals|
|Guardiola: My tactics nothing to do with Clichy goal|
|Real Madrid confirm Marcelo calf strain|
|Phelan no closer to learning Hull future|
|Italy legend Rossi hails Totti as ´the strongest in the last 20 years´|
|Adebayor dismisses whiskey and cigarette story|
|Masuaku injury blow for Hammers|
|Bauza: I don´t want a Messi war with Barcelona|
|Ramsey sidelined until after internationals|
|Walker signs Spurs extension|
|Hughes quashes Bony rift talk|
|Wenger brushes off Mourinho book claims|
|Mourinho wanted to ´break Wenger´s face´, new book alleges|
|Jones appointed as Jets coach|
|Barca the only club for Messi - Fabregas|
|Dyer on track for November return|
|Koeman rules out Everton future for Niasse|
|´Champion´ Rooney not ahead of my players - Ranieri|
|Klopp hints at Karius start|
|I never planned to leave Chelsea - Fabregas|
|Injured Messi thanks Gladbach for get well message|
|Wenger: Demanding society makes 20-year reign hard to repeat|