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 Josue 75'
for L. González 87'
|Australia 5 Bangladesh 0: Socceroos surge to emphatic win|
|Japan 3 Cambodia 0: Hosts pick up first qualifying win|
|Rudiger aiming to nail down Euros spot after Roma move|
|Melo happy to join Inter at last|
|Hernandez thanks Ferguson after United departure|
|Chung: AFC has compromised FIFA election|
|Wales the new best of British|
|Reus out of Germany qualifiers|
|Chile v Paraguay: Vidal missing for Copa champions|
|Ghedin: Anything is possible for Malta|
|Pogba will be worth €100m - Marotta|
|England can win Euro 2016 - Hodgson tells players|
|Conte unsure over Balotelli future|
|Martial never the same again - Mangala|
|Copa del Rey Review: Racing fall at the first|
|Shelvey dismisses talk of England snub|
|Galatasaray unable to play Grosskreutz|
|Faroe Islands v Northern Ireland: O´Neill preaches patience ahead of Euro double-header|
|Levy slams ´wholly inappropriate´ West Brom after Berahino chase|
|Panama v Uruguay: Visitors without Suarez and Cavani|
|Captaincy won´t change me - Robben|
|Liverpool sign Brazilian youngster Allan|
|PFA expects swift Berahino resolution|
|Argentina v Bolivia: Mascherano backs ´very special´ Messi|
|´I do not know if I´m worth €80million´ - Martial shocked at price-tag|
|Afellay suspension reduced|
|Noble red card rescinded|
|Portugal v France: Deschamps aiming to correct mistakes|
|Bahebeck given the all clear|
|Germany v Poland: Muller out to settle the score|
|Gibraltar v Republic of Ireland: Keane counting on McCarthy and Walters|
|Georgia v Scotland: Tbilisi trip has must-win feel for Robertson|
|Juve still the team to beat - Hernanes|
|De Gea will remain professional, says team-mate Mata|
|Berahino given extra time off following strike tweet|
|´No excuses´ as Costa seeks to kick-start season|
|I´m not like Messi or Ronaldo – Hazard|
|United States v Peru: Klinsmann out to ´prove a point´|
|Martinez unsure when Cleverley will return|
|France set for Russia friendly ahead of Euros|
|Former Manchester United forward Berbatov joins PAOK|
|De Gea must play to earn Euro 2016 spot – Del Bosque|
|Cahill thrilled to lead Socceroos|
|Wijnaldum urges patience with new-look Newcastle|
|Reid praises Stones´ professionalism|
|Mexico v Trinidad and Tobago: Islanders hoping to build on Gold Cup display|
|Choosing Brazil over Spain was easiest decision, says Rafinha|
|Galliani hails ´changed´ Balotelli|
|OFC World Cup Qualifying Review: American Samoa notch second competitive win|
|Canada v Belize: Hosts look to stay calm|
|Carragher surprised by ´big´ Martial price|
|No pressure on Rodgers - Rush|
|No Benzema, no Cavani - Arsenal ´can´t compete´ says Sol Campbell|
|FFA muzzle Postecoglou after pay dispute criticism|
|Celtic complete Simunovic signing|
|Joaquin: I´m as happy as a little boy|
|Navas given time off by Costa Rica|
|Martial unfazed by prospect of United pressure|
|Ramos urges De Gea to overcome transfer woe|
|Premier League spending hits £1bn in 2015|
|Italy v Malta: Conte calls for focus|
|De Laurentiis reveals failed Juve bid for Hamsik|
|Schweinsteiger: Manchester not as bad as everybody thinks|
|Galatasaray finalise Grosskreutz deal|
|Ilori agrees season-long loan with Villa|
|Wolfsburg want to ´annoy´ Bayern - Dante|
|Norwich bring in Jarvis on loan|
|Everton sign Lennon on permanent deal|
|United put blame back on Real Madrid over De Gea|
|Premier League Deadline Day: Berahino on strike, United make Martial number nine|
|Peace: West Brom must repair damage caused by Tottenham´s Berahino pursuit|
|Dyer secures loan switch to Leicester|
|Walters mocks deadline-day culture|
|Derby complete Johnson deal|
|Hector signed by Chelsea and loaned back to Reading|
|Watford secure Ibarbo loan|
|United´s Martial offer too good to reject - Monaco chief|
|No regrets over failed Juve move - Draxler|
|Guedioura returns to Watford|
|Berahino tweet casts doubt on West Brom future|
|Yedlin loaned to Sunderland|
|United complete Martial swoop|
|Strootman undergoes surgery again|
|FIFA set to clarify proposed Grosskreutz deal|
|Watford bolster strikeforce with Oulare|
|Belgium v Bosnia-Herzegovina: Time running out for visitors|
|Antonio makes West Ham move|
|I want to feel important at Leverkusen - Hernandez|
|Villa seal deadline-day swoop for Lescott|
|Austin to stay at QPR|
|Everton´s Gibson given driving ban|
|David de Gea: Timeline of Manchester United goalkeeper´s failed Real Madrid move|
|Southampton complete Van Dijk swoop|
|Bournemouth complete Murray deal|
|Real take aim at United over failed De Gea move|
|Premier League Deadline Day: West Ham bring in three, De Gea set for United stay|
|Reports: Real Madrid will not appeal De Gea transfer collapse|
|FIFA quiet on ´confidential´ De Gea paperwork|
|Chelsea sign Nantes defender Djilobodji|
|West Ham land Jelavic|
|Anthony who? Rooney had to ask who Martial was, says Schneiderlin|
|Moses joins West Ham on loan|
|Netherlands v Iceland: Blind era begins in Amsterdam|
|Deportivo snap up Gutierrez|
|Newcastle´s Kemen returns to France|
|Everton wrap up Funes Mori deal|
|Cyprus v Wales: Difficult to overestimate Bale contribution, says Davies|
|Blaszczykowski ´never considered´ Schalke move|
|Di Maria opens up about Van Gaal ´rows´|
|West Ham seal Song loan|
|Australia v Bangladesh: Luongo excited by Rogic partnership|
|Maturity, fitness vital for Shelvey|
|South Korea v Laos: Hwaseong hosts hunting goals|
|Japan v Cambodia: Hosts out to arrest four-match slump|
|Troisi joins Saudi giants Al-Ittihad|
|Casemiro lauds Benitez after re-signing|
|Rojo wants United stay|
|Milan tried for Witsel - Galliani|
|Conte eyes two Italy wins|
|Ligue 1 Deadline Day: Marseille sign three amid Martial saga|
|La Liga Deadline Day: Uncertainty over De Gea future, Joaquin back at Betis|
|Serie A Deadline Day: Juve and Inter busy as window closes|
|Layun swaps Watford for Porto|
|Joaquin makes Betis return alongside Van Wolfswinkel|
|Coventry City 2 Southend United 2: Ricketts salvages point for hosts|
|Real face anxious wait over De Gea as window shuts|
|Milan loan Mastour to Malaga|