Trailing 2-1 from the home leg, the Portuguese side’s hopes of reaching the last 16 were dealt a crushing blow after 19 seconds at a sodden Etihad Stadium when Sergio Aguero fired City into the lead.
On the night that coach Roberto Mancini said outcast striker Carlos Tevez could return in two or three weeks after apologising for his recent poor behaviour, Aguero produced a dazzling display that proved City have ample firepower even without his fellow Argentine.
He created a second for substitute Edin Dzeko after 76 minutes as City finished off Porto with a flourish.
Late goals by David Silva and recent signing David Pizarro flattered Mancini’s side who did not have things all their own way but never looked in danger of losing.
Porto finished the match with a 10 men after Rolando was shown a second yellow card for voicing his opinion that Dzeko’s goal should have been ruled offside.
“It was a good night but not easy – Porto are one of the top teams in Europe and played very well. I’m happy we’re going into the next stage,” Mancini told a news conference.
“We want to get to the final if possible but it will be difficult. With teams like United, Valencia and Schalke in, it’s like the Champions League.
“The early goal was important because Porto played very well, they’re a very strong team. We had other chances to score, but when you don’t score you can have some problems.”
The match was moved to Wednesday because Manchester United are in Europa League action in the city on Thursday against Ajax Amsterdam and it kicked off early so as not to clash with the evening’s Champions League fixtures.
City will play Legia Warsaw or Sporting Lisbon, who meet on Thursday, in the last 16.