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'
|Ozil and Sanchez can be persuaded to stay - Cech|
|Pogba: I rejected Barcelona and Real Madrid|
|Ghana v Uganda: Gyan dreams of first trophy since 1982|
|Chiellini: Juventus a work in progress|
|Robben agrees Bayern renewal until 2018|
|Hazard: Goals do not matter to me|
|Bennell pleads not guilty to eight child sex offences|
|Muller fed up with debate over Bayern role|
|Wenger glad Sanchez is not ´a Costa problem´|
|Flick resigns as DFB´s sporting director|
|Gomis ´can´t wait´ to welcome Payet to Marseille|
|Chinese FA changes foreign player rules after ´irrational´ spending|
|Like father, like son: Justin Kluivert follows in dad´s footsteps|
|´No reason to lose him´ - Marotta rubbishes talk of Allegri exit|
|Courtois: We don´t need Costa|
|Kane: Tottenham players won´t go to China|
|Noble ´angry and disappointed´ with Payet|
|Klopp furious over Matip uncertainty|
|Wenger surprised by tight Premier League|
|´Money is not everything´ - Conte issues warning amid China speculation|
|Fiorentina defeat a ´bad setback´ - Allegri|
|´This will elevate this group of players´ - Sampaoli revels in Sevilla late show|
|WATCH: Rio Ferdinand screams and dances in crazy Man Utd celebration|
|Real Madrid relaxed, admits Zidane after Sevilla defeat|
|Monaco go top of Ligue 1 with stunning Marseille victory|
|Ronaldo equals LaLiga penalty record as Real Madrid lose|
|Sevilla 2 Real Madrid 1: Stunning late comeback ends unbeaten run at 40|
|Fiorentina 2 Juventus 1: Brilliant Viola breathe life into Serie A title race|
|Tunisia 0 Senegal 2: Mane on target as favourites start strongly|
|Mourinho explains Klopp confrontation|
|Klopp delights in Alexander-Arnold display|
|Algeria must cut out mistakes against Tunisia - Leekens|
|Long balls led to Man Utd equaliser, says Klopp|
|´We attacked, Liverpool defended´ – Mourinho insists a point flattered Klopp´s men|
|DR Congo v Morocco: ´Confidence´ the Atlas Lions´ biggest hindrance ahead of AFCON opener|
|Ibrahimovic: Direct tactics worked for United|
|Guardiola rues gap to Chelsea after Goodison mauling|
|Algeria 2 Zimbabwe 2: Mahrez double prevents shock defeat|
|Manchester United 1 Liverpool 1: In-form Ibrahimovic saves hosts|
|Ivory Coast v Togo: AFCON champions hope to tame Le Roy´s ´troublemakers´|
|Guardiola lays City´s mental frailties bare after Goodison rout|
|Koeman hails ´perfect´ Everton after City mauling|
|Nice stalemate gives Monaco chance to go top|
|Guardiola suffers heaviest league loss in Everton thrashing|
|Neymar-esque Zaha is England´s loss – Bolasie|
|Everton 4 Manchester City 0: Koeman leaves old pal Guardiola´s title bid in tatters|
|Matip withdrawn from Liverpool selection over eligibility questions|
|Podolski staying at Galatasaray, insists sporting director|
|Cavani wants PSG stay|
|Torino move feels normal now – Hart|
|Chinese FA changes rule on CSL foreign players - reports|
|Bayern complete swoop for Hoffenheim duo Sule and Rudy|
|Aubameyang: Dortmund not really like Barca, Madrid or Bayern|
|Pogba can chance a game in one second - Herrera|
|Newcastle Jets 2 Perth Glory 2: Keogh´s eighth of season seals draw|
|Klopp: Liverpool ready for Old Trafford test|
|Herrera taunts Liverpool ahead of Old Trafford showdown|
|I had to be 100 per cent to stay at Boca - Tevez|
|No player is bigger than the club - Carroll takes swipe at want-away Payet|
|Icardi: I can always move to China at end of career|
|Mkhitaryan: Klopp convinced me not to join Liverpool|
|Mourinho: Pogba can score every game|
|Cameroon´s profligacy frustrates Broos|
|Pioli lauds ´exceptional´ Icardi|
|´Now they will be favourites´ - Kimmich questions Leipzig´s ability under pressure|
|Toure set for Champions League recall but Guardiola won´t guarantee long-term City future|
|´It can only be speculation´ - Conte cools Costa to China claims|
|Inter 3 Chievo 1: Perisic, Eder strike late to seal deserved win|
|Verratti and Motta fooled no one, says Costil|
|´Look who won the Ballon d´Or´ – Prickly Simeone insists only results matter|
|Burkina Faso 1 Cameroon 1: Dayo snatches draw for Duarte´s side|
|Angry Sanchez no issue for Wenger|
|94th-minute free-kick snaps TNS´ world-record run|
|Conte hails perfect response to Chelsea´s Spurs defeat|
|Chelsea have more points now than entire 2015-16 season|
|Conte speaks out on reported Costa row|
|Cavani´s reaction to being subbed is normal - Emery|
|Chelsea can cope without Costa - Cahill|
|Aubameyang hopes Gabon learn from late equaliser|
|Ronaldinho ready to return to professional football - agent|
|Unfortunate Gestede sets remarkable Premier League record|
|Mandzukic´s track record speaks for itself - Allegri|
|Bayern beat Mainz to win Telekom Cup|
|Atletico Madrid 1 Real Betis 0: Gaitan seals unconvincing win|
|Leicester City 0 Chelsea 3: Costa-cutting not costly for Alonso-inspired leaders|
|PSG won´t buy for the sake of buying - Kluivert|
|´One of the best performances since I´m here´ - Luis Enrique revels in Barca rout|
|I might have left early myself - Moyes|
|Clement confirms ´imminent´ Swansea deals for Olsson, Carroll|
|Mazzarri pays tribute to ´great person´ Taylor following frustrating stalemate|
|Barca calm on Messi contract situation - Suarez|
|´They don´t normally come off like that!´ - Carroll revels in stunning strike|
|Dyche delighted by Barton´s ´lucky finish´|
|Silva outlines importance of Hernandez after stirring Bournemouth win|
|Messi ticks off Las Palmas to match Raul´s LaLiga record|
|Gabon 1 Guinea-Bissau 1: Late Soares equaliser frustrates Aubameyang|
|Wenger confirms ankle injury for Giroud|
|Rennes 0 Paris Saint-Germain 1: Draxler decisive on Ligue 1 debut|
|Barton determined to repay Dyche´s faith|
|Brady hails Antonio´s ´dedication´ as Payet sits out|
|Top six in different league, says Pulis after Spurs thrashing|
|Barcelona 5 Las Palmas 0: In-form Suarez at the double as rampant champions put pressure on Madrid|
|Sunderland 1 Stoke City 3: Arnautovic sinks woeful Black Cats|
|Corinthians just ´waiting for´ Drogba´s signature|
|Watford 0 Middlesbrough 0: Taylor remembered as Boro frustrate lacklustre Hornets|
|Burnley 1 Southampton 0: Barton scores winner on Premier League return|
|Hull City 3 Bournemouth 1: Hernandez fires Silva to debut Premier League win|
|West Ham 3 Crystal Palace 0: Carroll scissor-kick helps Hammers to victory|
|Swansea City 0 Arsenal 4: Giroud, Sanchez strike as fortune shines on Gunners|
|Costa absent but still no start for Batshuayi|
|Tunisia v Senegal: Talent alone not enough for Cisse´s AFCON favourites|
|Vertonghen injury looks bad, says Pocehttino|
|Srna snubs Barcelona|
|No nerves about Messi contract - Bartomeu|
|No nerves about Messi contract - Bartomeu|
|Kane lauds Spurs´ best display this season|
|Pogba loving Ibrahimovic ´connection´|
|DR Congo on strike ahead of AFCON opener|
|Higuain: Juventus turn you into a war machine|
|Algeria v Zimbabwe: Leekens wary of opening slip-up|
|Sturridge: I´m Liverpool´s best striker|
|Tottenham 4 West Brom 0: Kane the daddy as Spurs trounce sorry Albion|
|Zidane hails Ramos as one of Spain´s most inspiring players after Sevilla row|
|Payet sign guarded after West Ham star demands exit|
|Evra still undecided on future|
|A-League Review: Wanderers keeper Janjetovic pelted with snakes on return to Sydney FC|
|Sevilla boss Sampaoli has ´no interest´ in Ramos row|
|Madrid back Ramos in Sevilla row|
|Recovering Bale boosted by Madrid´s record run|
|Pique sits out Barcelona v Las Palmas|
|Luiz calls for cool heads at Chelsea|
|Hazard: Title race not over|
|Liverpool have nothing to fear - Klopp|
|Mourinho backs Pogba to become United captain|
|Wenger reveals Cazorla may miss another 10 weeks|
|´Come on Chelsea!´ - Costa sends Blues backing amid exit talk|