FC Porto 1-2 Manchester City
Substitute Sergio Aguero hit a dramatic late Europa League winner as Manchester City came from behind to beat holders Porto in the first leg of the last 32.
City trailed to Silvestre Varela's close-range effort following a powerful run and cross by Hulk.
But the visitors impressed and deservedly equalised when Alvaro Pereira deflected Yaya Toure's cross into his own net off his shoulder.
They sealed victory when Aguero tapped home following Toure's cross.
On a memorable night for Roberto Mancini's side at the Estadio do Dragao, the Premier League leaders did not look like a team of players who felt sorry for themselves as they returned to the continental stage for the first time since being denied a place in the knockout stages of the Champions League by Napoli and Bayern Munich.
Porto keeper Helton was much busier than Joe Hart before half-time with the Brazilian producing two excellent saves in the space of a minute to deny Micah Richards and Samir Nasri.
Winning the Premier League remains City's main priority but Mancini said on the eve of the tie that he is keen for City to make a strong impression in the Europa League.
His players certainly did that in Portugal.
The City manager backed up his words by naming a strong side which included a recall for Mario Balotelli following a four-match domestic suspension.
In addition, younger Toure brother Yaya was also in the side for the first time since 3 January after the Ivory Coast international returned as a losing finalist from the Africa Cup of Nations.
But Porto are anything but European lightweights and, after weathering an early City storm, the 2004 Champions League winners edged in front in the 27th minute when the dangerous Hulk delivered a low cross for Varela to poke home from close range after poor marking in the City defence.
City responded immediately with Nasri producing the pass of the match to leave Balotelli clean through with only the keeper to beat.
However, he was denied by another glorious save by Helton - the 33-year-old diving full-stretch to keep out his rasping effort which was heading for the net.
Porto gave the visitors a lesson in passing but Hart, despite conceding, was rarely tested by the hosts.
Mancini's side continued to ask questions of the home defence after the interval with the impressive Richards rattling the outside of Helton's post after drilling a low powerful effort following a powerful 50th-minute run.
Five minutes later City were level.
Toure tried to pick out Balotelli with a long ball forward but his pass hit Pereira on the shoulder and the ball flew past Helton into the net.
There was a touch of fortune about the goal but few inside the ground could say that City did not deserve the equaliser.
The game was niggly throughout with Turkish referee Cuneyt Cakir forced to produce a flurry of yellow cards as tempers threatened to boil over.
But just as the match looked to be heading for a draw, Aguero scored a dramatic 84th-minute winner, six minutes after coming on, when he turned Toure's low cross over the line to spark scenes of jubilation among City's travelling support.
Manchester City manager Roberto Mancini said: "I think that we played a good game, we played very well. In the first half we had three or four goalscoring chances. We were really unlucky.
"In the second half we played very well. We played as we know. We had seven, eight chances to score and we didn't give any chances to Porto, which is important because Porto is a top team.
"I think we won the game very well. We had more chances to score than them."
- 01 Helton
- 04 Maicon
- 05 Pereira Booked
- 14 Rolando
- 02 Danilo Booked (Mangala - 22' )
- 03 Gonzalez
- 08 Joao Moutinho
- 19 Rodriguez
- 25 Fernando
- 12 Hulk
- 17 Varela (Kleber - 77' )
- 31 Bracali
- 26 Alex Sandro
- 10 Rodriguez
- 22 Mangala (Defour - 89' )
- 35 Defour
- 11 Kleber
- 20 Djalma
- 25 Hart
- 02 Richards Booked
- 04 Kompany Booked
- 06 Lescott
- 22 Clichy
- 18 Barry Booked
- 19 Nasri Booked (Zabaleta - 88' )
- 21 Silva (Kolarov - 82' )
- 34 De Jong Booked
- 42 Y Toure Booked
- 45 Balotelli (Aguero - 78' )
- 30 Pantilimon
- 05 Zabaleta
- 13 Kolarov
- 15 Savic
- 08 Pizarro
- 10 Dzeko
- 16 Aguero
Live Text Commentary
Full Time The referee blows his whistle to end the game.90:00 +2:52
The free kick is delivered left-footed by James Rodriguez from left channel, Micah Richards makes a clearance.90:00 +2:52 Booking
Booking Micah Richards goes into the referee's book.90:00 +2:45
Free kick awarded for an unfair challenge on James Rodriguez by Micah Richards.90:00 +2:07
The referee blows for offside. Da Silva Helton takes the indirect free kick.90:00 +0:40
A cross is delivered by Givaldinho Hulk, Vincent Kompany makes a clearance.89:45
Foul by Givaldinho Hulk on Gael Clichy, free kick awarded. Direct free kick taken by Joe Hart.86:03
Lucho Gonzalez restarts play with the free kick.86:03 Substitution
Substitution Steven Defour is brought on as a substitute for Eliaquim Mangala.86:03 Substitution
Substitution Pablo Zabaleta replaces Samir Nasri.86:03
Unfair challenge on Eliaquim Mangala by Aleksandar Kolarov results in a free kick.85:23
Free kick awarded for a foul by Gareth Barry on Lucho Gonzalez. Direct free kick taken by Felipe Joao Moutinho. Givaldinho Hulk takes a shot. Blocked by Samir Nasri.83:59
Gnegneri Toure Yaya provided the assist for the goal.83:59 Goal scored
Goal! - Sergio Aguero - FC Porto 1 - 2 Man City Sergio Aguero gets on the score sheet with a goal from inside the six-yard box low into the middle of the goal. FC Porto 1-2 Man City.81:52 Substitution
Substitution Aleksandar Kolarov comes on in place of David Silva.78:35
Eliaquim Mangala fouled by Sergio Aguero, the ref awards a free kick. Roque Maicon restarts play with the free kick. Sergio Aguero gives away a free kick for an unfair challenge on Francisco Fernando. Free kick taken by Lucho Gonzalez.77:13
Direct free kick taken by Joe Hart.77:13 Substitution
Substitution Mario Balotelli goes off and Sergio Aguero comes on.77:13
The offside flag is raised against Givaldinho Hulk.76:15
Francisco Fernando takes the free kick.
Substitution Silvestre Varela goes off and Pinheiro Kleber comes on.76:15
Free kick awarded for an unfair challenge on Roque Maicon by Gnegneri Toure Yaya.74:07
Free kick taken by Lucho Gonzalez.74:07 Booking
Booking Samir Nasri goes into the referee's book.74:02
Samir Nasri challenges Givaldinho Hulk unfairly and gives away a free kick.73:03
Shot by Alvaro Pereira from outside the box goes over the target.72:21
The ball is delivered by Alvaro Pereira, clearance made by Gael Clichy.71:50
The referee blows for offside against Micah Richards. Da Silva Helton takes the free kick.71:20
Lucho Gonzalez gives away a free kick for an unfair challenge on David Silva. Free kick taken by Gareth Barry.71:04
Unfair challenge on Gnegneri Toure Yaya by Francisco Fernando results in a free kick. Nigel De Jong takes the direct free kick.69:38
Eliaquim Mangala gives away a free kick for an unfair challenge on Micah Richards. Direct free kick taken by Joe Hart.68:46
Free kick awarded for an unfair challenge on Givaldinho Hulk by Nigel De Jong. Free kick crossed by Givaldinho Hulk, save made by Joe Hart.67:47
Givaldinho Hulk produces a left-footed shot from just outside the box that goes wide left of the target.67:37
Felipe Joao Moutinho delivers the ball, clearance made by Gael Clichy.66:41
Gnegneri Toure Yaya is flagged offside by the assistant referee. Da Silva Helton takes the free kick.66:10
Givaldinho Hulk concedes a free kick for a foul on Joleon Lescott. Direct free kick taken by Joleon Lescott.64:21
A cross is delivered by Alvaro Pereira, clearance by Joleon Lescott.63:10
Gnegneri Toure Yaya challenges Silvestre Varela unfairly and gives away a free kick. Felipe Joao Moutinho takes the free kick.62:39
Felipe Joao Moutinho takes a shot. Vincent Kompany gets a block in.61:28
Shot by Alvaro Pereira from a long way out goes over the crossbar.60:35
Felipe Joao Moutinho crosses the ball in from the free kick, clearance by Gareth Barry.60:35 Booking
Booking Gareth Barry is booked.60:34
Gareth Barry challenges James Rodriguez unfairly and gives away a free kick.59:30
Givaldinho Hulk produces a shot on goal direct from the free kick, save made by Joe Hart. Corner taken left-footed by James Rodriguez.59:30 Booking
Booking The referee books Nigel De Jong for unsporting behaviour.58:20 Booking
Booking Vincent Kompany goes into the referee's book for unsporting behaviour.58:16
Vincent Kompany challenges Givaldinho Hulk unfairly and gives away a free kick.57:20
The ball is swung over by Gael Clichy.56:09
Unfair challenge on Lucho Gonzalez by Nigel De Jong results in a free kick. Free kick taken by Felipe Joao Moutinho.54:35 Goal scored
Goal! - Alvaro Pereira - FC Porto 1 - 1 Man City An unfortunate own goal is conceded by Alvaro Pereira. FC Porto 1-1 Man City.53:58
Free kick taken by Micah Richards.53:58 Booking
Booking Alvaro Pereira booked for unsporting behaviour.53:50
Free kick awarded for a foul by Alvaro Pereira on Mario Balotelli.52:20
Mario Balotelli fouled by Roque Maicon, the ref awards a free kick. Free kick taken by Nigel De Jong.51:47
Gnegneri Toure Yaya handles the ball and concedes a free kick. Free kick taken by Eliaquim Mangala.49:20
Shot by Micah Richards from deep inside the penalty box hits the post.46:57
Free kick awarded for an unfair challenge on Gareth Barry by Givaldinho Hulk. Free kick taken by Nigel De Jong.46:17
Unfair challenge on Eliaquim Mangala by Mario Balotelli results in a free kick. Direct free kick taken by Da Silva Helton.45:01
The match restarts for the second half.45:00 +2:14 Half time
Half Time The ref blows to signal half-time.45:00 +1:42
Lucho Gonzalez takes a shot. Joleon Lescott gets a block in.45:00 +0:43
Givaldinho Hulk takes a shot from just inside the penalty box which clears the crossbar.45:00 +0:07
Foul by Francisco Fernando on Nigel De Jong, free kick awarded. Gareth Barry takes the free kick.43:48
David Silva challenges Alvaro Pereira unfairly and gives away a free kick. Alvaro Pereira takes the direct free kick.43:11
The referee blows for offside. Da Silva Helton takes the free kick.42:40
Alvaro Pereira handles the ball and concedes a free kick. Direct strike on goal from the free kick comes in from David Silva, save by Da Silva Helton.42:20
A cross is delivered by David Silva, blocked by Alvaro Pereira.41:38
The ball is swung over by Gael Clichy, clearance by Eliaquim Mangala.41:17
Gareth Barry fouled by Givaldinho Hulk, the ref awards a free kick. Gareth Barry restarts play with the free kick.41:02
The ball is sent over by Gareth Barry, blocked by Roque Maicon.39:49
Headed effort from close range by David Silva goes wide left of the goal.38:54
David Silva fouled by Roque Maicon, the ref awards a free kick. Samir Nasri takes the free kick.37:25
Corner taken left-footed by James Rodriguez from the left by-line, Shot by Lucho Gonzalez from 18 yards. Joleon Lescott gets a block in.37:15
James Rodriguez takes a shot. Blocked by Gareth Barry.36:30
Unfair challenge on Felipe Joao Moutinho by Mario Balotelli results in a free kick. Alvaro Pereira takes the free kick.36:03
Centre by Gael Clichy, Da Silva Helton makes a save.35:45
The ball is sent over by Samir Nasri, clearance made by Roque Maicon.34:07
Samir Nasri fouled by Felipe Joao Moutinho, the ref awards a free kick. Samir Nasri takes the direct free kick.33:05
Lucho Gonzalez challenges Joleon Lescott unfairly and gives away a free kick. Gareth Barry takes the free kick.32:54
The ball is delivered by Gael Clichy, Eliaquim Mangala makes a clearance.31:49
The offside flag is raised against Gael Clichy. Da Silva Helton takes the indirect free kick.29:42
Free kick awarded for a foul by Felipe Joao Moutinho on Joleon Lescott. Nigel De Jong takes the direct free kick.29:31
Givaldinho Hulk sends in a cross, Nigel De Jong makes a clearance.28:45
Mario Balotelli has a volleyed shot. Da Silva Helton makes a fantastic save.26:57
Givaldinho Hulk provided the assist for the goal.26:57 Goal scored
Goal! - Silvestre Varela - FC Porto 1 - 0 Man City Goal scored by Silvestre Varela from close range to the bottom left corner of the goal. FC Porto 1-0 Man City.26:47
Gareth Barry gives away a free kick for an unfair challenge on Lucho Gonzalez. Free kick taken by Felipe Joao Moutinho.26:12
Unfair challenge on Samir Nasri by Alvaro Pereira results in a free kick. Samir Nasri takes the direct free kick.24:43
Free kick taken by Alvaro Pereira.24:43 Booking
Booking Gnegneri Toure Yaya is cautioned.24:40
James Rodriguez fouled by Gnegneri Toure Yaya, the ref awards a free kick.24:09
The ball is sent over by Alvaro Pereira, Joleon Lescott makes a clearance.23:31
Lucho Gonzalez takes a shot. Nigel De Jong gets a block in.23:18
Outswinging corner taken left-footed by James Rodriguez, Vincent Kompany manages to make a clearance.23:06
Alvaro Pereira delivers the ball, Vincent Kompany manages to make a clearance.22:20
The referee blows for offside against Mario Balotelli. Eliaquim Mangala restarts play with the free kick.21:59
Corner taken left-footed by David Silva, Francisco Fernando manages to make a clearance.21:45 Substitution
Substitution Da Silva Danilo leaves the field to be replaced by Eliaquim Mangala.21:28
Samir Nasri takes a shot. Save by Da Silva Helton.20:46
Micah Richards takes a shot. Save made by Da Silva Helton. Inswinging corner taken left-footed by David Silva, Da Silva Helton makes a save.19:42
The ball is delivered by Samir Nasri, Gnegneri Toure Yaya takes a shot. Save made by Da Silva Helton.19:42 Booking
Booking Da Silva Danilo is shown a yellow card for unsporting behaviour.18:03
Da Silva Danilo challenges Gnegneri Toure Yaya unfairly and gives away a free kick.16:53
Long range shot by Felipe Joao Moutinho goes wide right of the target.16:20
Roque Maicon fouled by Mario Balotelli, the ref awards a free kick. Da Silva Helton takes the free kick.14:52
James Rodriguez crosses the ball, Jorge Rolando takes a shot. Clearance made by Joleon Lescott. Corner from the left by-line taken by James Rodriguez, clearance made by Vincent Kompany.14:40
Alvaro Pereira decides to take the corner short.14:29
A cross is delivered by Alvaro Pereira, Micah Richards gets a block in. Alvaro Pereira sends in a cross, blocked by Vincent Kompany.13:48
The ball is sent over by James Rodriguez, Vincent Kompany makes a clearance.12:11
Centre by Alvaro Pereira, Gareth Barry manages to make a clearance.11:13
Silvestre Varela produces a cross, clearance by Micah Richards.10:15
Silvestre Varela challenges Gnegneri Toure Yaya unfairly and gives away a free kick. Free kick taken by Samir Nasri.9:46
The referee blows for offside against Mario Balotelli. Alvaro Pereira takes the direct free kick.7:45
The official flags Mario Balotelli offside. Indirect free kick taken by Da Silva Helton.7:15
A cross is delivered by Gnegneri Toure Yaya, Francisco Fernando gets a block in.4:31
Centre by James Rodriguez, Joleon Lescott manages to make a clearance.3:42
Free kick awarded for an unfair challenge on Felipe Joao Moutinho by Nigel De Jong. Direct free kick taken by Felipe Joao Moutinho. Gnegneri Toure Yaya challenges James Rodriguez unfairly and gives away a free kick. Alvaro Pereira takes the direct free kick.3:15
Gael Clichy handles the ball and concedes a free kick. Free kick taken by Da Silva Danilo.2:41
Francisco Fernando gives away a free kick for an unfair challenge on Mario Balotelli. Gnegneri Toure Yaya takes the direct free kick.0:51
The assistant referee flags for offside against Mario Balotelli. Felipe Joao Moutinho takes the direct free kick.0:11
Free kick awarded for a foul by Samir Nasri on Francisco Fernando. Free kick taken by Felipe Joao Moutinho.0:00
The game kicks-off.
Live data and text provided by our data suppliers