Sergio Aguero was again the headline act as Manchester City sealed an impressive win over holders Porto to reach the last 16 of the Europa League.
The Argentine scored City's first-leg winner and here he gave them the lead after just 19 seconds with a low shot.
He then turned creator for Edin Dzeko to score a goal which Porto's Rolando was sent off for protesting against.
With the tie won, City romped home thanks to well-worked goals from David Silva and substitute David Pizarro.
The victory may not compensate City financially for failing to advance beyond the group stages of the Champions League, but it does go a small way towards making amends for that unplanned early elimination.
In the build-up to this encounter, City's players and staff were eager to express how important this season's Europa League is to the club - on a level with the Premier League according to manager Roberto Mancini - following their early de-seating from Europe's top table.
But then, redemption is all the rage at Etihad at the moment, following Carlos Tevez's unreserved apology "to everyone I have let down" during his five-month feud with the club.
Tevez's future at City remains uncertain, but even if his apology does prove heart-felt, he will have to accept that the position of world-class diminutive Argentine striker is currently filled.
Sergio Aguero has been one of the stars of City's season and over the course of this two-legged tie he has again illustrated the task Tevez - motivated or not - has in front of him to reclaim his place in Mancini's starting XI.
After stinging Porto with his goalscoring exploits from the bench last week, the 23-year-old was a constant thorn in the Portuguese outfit's side here. He harried defenders into errors, ghosted effectively into space untracked and just about his every touch was a positive one, including, most significantly, his very first.
Porto defender Nicolas Otamendi was partly culpable for his side conceding, giving the ball away to allow Yaya Toure to slide in a pass for Aguero to run on to and slot past Porto keeper Helton with just 19 seconds on the clock.
The striker should have scored more, but he was cruelly denied a sublime second when his chip from 25 yards struck the crossbar and then gave a rare glimpse of his fallibility when firing wide late in the first half.
City's grip on the game was firm, but while it remained 3-1 on aggregate, Porto still held belief that a goal could spark a comeback in the tie.
However, despite the physical presence of Hulk in attack, they lacked a cutting edge to complement their neat build-up play and City were able to repel whatever was thrown their way, including a series of fiercely struck but largely wayward free-kicks from the aforementioned bulky centre-forward.
With 15 minutes to go, City sealed the tie and it was no surprise that Aguero played a key role, sliding in a neat pass that substitute Dzeko latched on to and slotted in.
Seemingly more in frustration than any genuine belief there had been an infringement, Porto's Rolando sprinted to the referee's assistant to protest, earning himself a second yellow card and an early departure from the field.
Now with a numerical advantage and facing utterly deflated opponents, City ran riot.
Pizarro, another late substitute, exchanged passes with Dzeko before crossing for Silva to finish from close range and the Chilean then grabbed a goal himself - his first for the club since joining on loan in January - with a well-struck low shot.
Manchester City manager Roberto Mancini: "It was a good night but it was not easy. We had other chances to score but we didn't score, and when you don't score, you can have other problems.
"It is not easy to beat Porto, they are one of the top teams in Europe and I am happy that we are going to the next stage.
"We want to try to go to the final if possible but it will be difficult because the Europa League has top squads - Manchester United, Valencia, Schalke - it is like the Champions League.
"For this reason it will be difficult but we want to try.
Porto coach Vitor Pereira: "Up until the second Manchester City goal, Porto were the best team. We played much better but we know Manchester City have a good team and they used the counter-attack well.
"They have great players up front and the second goal caused us difficulties. We wanted to change the game but the sending off changed it in favour of Manchester City.
"Someone who has not seen the match is wrong in their opinion if they think City have dominated the game. The scoreline does not show what happened on the pitch."