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."