Haaland's Brace Secures Victory for City in Porto
Manchester City left the Estadio do Dragao with exactly what they came for: three points, a clean sheet, and a statement result on paper. In reality, it was another night that underlined how Enzo Maresca’s side are still some way from convincing.
Erling Haaland’s brace delivered a 2-0 win over FC Porto and made City the first team to beat the Portuguese champions at home this calendar year. He also spent most of the first half looking uncharacteristically human.
Wasteful Haaland, inspired Costa
From the opening whistle, City owned the ball and the territory. Antoine Semenyo set the tone early, cutting inside and drawing a routine stop from Diogo Costa on 16 minutes. It was a sighter for the Porto goalkeeper, who quickly moved from busy to brilliant.
On 21 minutes, Semenyo slipped Phil Foden down the right. Foden clipped a teasing cross into the six-yard box, Haaland attacked it, connected well – and still saw Costa throw out a strong glove to deny him. It was the first big warning.
Six minutes later, Haaland should have punished Porto. Another cross from the left, this time from Semenyo, picked him out in space. The striker rose, met it cleanly, and headed over. A big miss from a man who usually buries those with his eyes closed.
City kept coming. Foden danced through a crowd in the box on 29 minutes, slaloming past blue-and-white shirts before forcing Costa into another sharp save. The Porto keeper refused to relent.
On 31 minutes he produced the moment of the half. Haaland drilled low from inside the area, Costa smothered, sprang up instantly, and blocked Rayan Cherki’s rebound. The stadium roared his name; City stared in disbelief.
Porto, by contrast, offered almost nothing as an attacking force. Their main flashpoint came on 42 minutes, when Marc Guehi’s arm caught Gabri Veiga and opened up a nasty cut. Home players demanded a red card for violent conduct, but the City defender escaped punishment, the incident deemed accidental rather than malicious.
City went down the tunnel dominant, but only level. Haaland, Costa, and a nagging sense of missed opportunity defined the half.
Haaland makes amends, City step off the gas
The Norwegian needed just two minutes after the restart to flip the script.
On 47 minutes, Enzo Fernandez whipped in a cross from the left. Haaland bullied Jakub Kiwior, shrugged him aside, and thundered a header in off the post. One-nil, the pressure valve released, the earlier misses suddenly a footnote.
Porto thought they had a route back almost immediately. City goalkeeper Gianluigi Donnarumma clattered into winger Pepe in the box on 49 minutes, but the offside flag against the Porto forward killed the penalty appeals.
For a while, it looked like City might cruise. Then the rhythm changed.
The visitors eased off. Passes loosened. Possession started slipping away. Porto, who had barely laid a glove on Donnarumma, finally stirred.
On 57 minutes, Alan Varela collected the ball on the edge of the area and curled inches wide of the far post. It was Porto’s first shot of the game – and a clear warning.
Nerves flickered again on 66 minutes when Donnarumma dallied on the ball and was almost robbed by William Gomes. The ricochet spun behind for a goal kick, but City’s composure was clearly fraying.
Maresca’s side still carried a threat on the break. Substitute Rayan Ait-Nouri should have killed the contest on 85 minutes when he burst into space and dragged his shot just wide.
He made up for it in stoppage time. In the first minute of added time, Ait-Nouri drove to the byline and cut the ball back perfectly for Haaland, who arrived in the box with trademark timing and swept home his second. Job done, scoreline secure, tension released.
Maresca pleased – but City still playing with fire
Afterwards, Haaland framed it as exactly the kind of game City must win.
They had, in his words, “controlled the whole first half,” created “a lot of chances,” and ridden out a 25-minute Porto surge after the break. He admitted he “could have easily had a few more goals” but stressed the need to deliver under pressure and keep winning in the Champions League.
Maresca struck a similar tone. The head coach pointed to the volume of chances, the lack of clear opportunities conceded, and the difficulty of coming to this stadium and expecting to suffocate Porto completely. “Overall I’m happy with the performance,” he said, noting that the hosts’ few openings often stemmed from City’s own mistakes.
He’s right on one level. Winning at the Dragao is no small feat. Doing it while limiting Porto to speculative efforts and no shots on target is a solid night’s work by most standards.
Yet the pattern of City’s season refuses to go away.
They were hammered by Arsenal in the Community Shield. They needed a late surge and a slice of fortune to get past Bournemouth. They blew Crystal Palace away, then stumbled to a laboured 1-0 win over Coventry that could easily have gone wrong.
This felt similar. City dominated for 47 minutes, scored, and then allowed Porto back into a contest that should have been buried long before stoppage time. The slack passing, the repeated turnovers, the wobble under pressure – a sharper side would have punished them.
On Sunday, a sharper side awaits. Manchester United at Old Trafford, under the lights, in a derby that will not forgive this kind of drift.
City have started this Champions League campaign with a valuable away win and a centre-forward who, even on a wasteful night, still walks away with two goals. But if Maresca’s team keep flirting with danger like this, how long before someone finally makes them pay?



