Porto 0-2 Manchester City: Diogo Costa saves eight, Haaland scores two
AI-written review based on match data · How we make it
Key numbers
- 10 shots on target to 0, with eight Costa saves
- xG 2.32 v 0.28: the threat was one-sided
- Haaland: 6 shots, 2 goals at 47' and 90'
No shot on target for Porto
Porto went through the night without a single shot on target. Five attempts, one of them blocked, meant Gianluigi Donnarumma was not required to make a save. At the other end Diogo Costa made eight saves, yet it was not enough to keep City out.
The second half began with the breakthrough
The first half finished goalless. The deadlock was broken in the 47th minute, when Erling Haaland scored from an Enzo Fernández assist. That opening goal was worth +0.9 FN xPts to Manchester City, a big shift in their expected points. His second, in the 90th minute, sealed the result.
City created the better chances
City did not simply have the ball; they got close to goal with it. Thirteen of their shots came from inside the box, and the xG tally read 2.32 to 0.28, so the threat was lopsided. Porto's five efforts appear to have carried little danger.
Haaland finishes, Fernández creates
Haaland turned six shots into two goals and did the finishing. Behind him, Fernández created three chances and played an assist, while substitute Rayan Aït-Nouri set up the late goal after 15 minutes on the pitch. City leave with three points, Porto with none.
Player of the match
Enzo Fernández 8.3Dominant
He provided an assist and completed 78 of 83 passes to lead the FN Score.
Fernández earned most of his credit going forward, creating three chances and having two shots, one on target. He also won six of 11 duels. That link-up work fed into Haaland's 47th-minute opener, which ended the goalless stalemate and gave City the lead they held until full-time.
Game state
0-10-2
FC Porto ahead 0 min · level 47 min · Manchester City ahead 43 min
- Rayan Aït-Nouri — off the bench 15 min · 0G 1A
FN xPts — what each moment was worth
How much each moment changed that team's expected points (win 3, draw 1). A goal's value is credited 70% to the scorer and 30% to the assist.
47'
Erling Haaland
Goal · scorer +0.6 · assist Enzo Fernández +0.3
+0.9
90'
Erling Haaland
Goal · assist Rayan Aït-Nouri
+0.1
FC Porto
Expected (no record yet, starting estimate) 1.0Own moments 0.0Opponent moments −0.7Time effect −0.3→ League points won 0
Manchester City
Expected (last two seasons) 1.8Own moments +1.0Opponent moments 0.0Time effect +0.2→ League points won 3
Expected points don't add up to a fixed total (a draw is 1 + 1), so an opponent's moment isn't simply the mirror of your loss. "Time effect" is the change as the clock runs down on a lead or a chase, and isn't credited to any player.
How FN Score and FN xPts work →
Match stats
FC PortoManchester City
0.28Expected goals (xG)2.32
Compared with usual
Manchester City
3 matches this season, all competitions baseline
Timeline
- 37'
Yellow
Joško Gvardiol
- 47'
Goal
Erling Haaland competition goal #1 assist Enzo Fernández
- 48'
Sub
Joško Gvardiol → Abdukodir Khusanov
- 49'
Yellow
Gianluigi Donnarumma
- 62'
Sub
Rayan Cherki → Elliot Anderson
- 62'
Sub
Antoine Semenyo → Iliman Ndiaye
- 68'
Sub
Alan Varela → Hwang In-beom
- 68'
Sub
William Gomes → Borja Sainz
- 73'
Sub
Martim Fernandes → Francisco Moura
- 73'
Sub
André Silva → Santiago Giménez
- 75'
Sub
Phil Foden → Rayan Aït-Nouri
- 75'
Sub
Ayyoub Bouaddi → Mateo Kovačić
- 83'
Sub
Gabri Veiga → Seko Fofana
- 90'
Goal
Erling Haaland competition goal #2 assist Rayan Aït-Nouri
- 90+3'
Yellow
Pablo Rosario
- 90+3'
Yellow
Erling Haaland
Category leaders
- Key passesEnzo Fernández3
- Duels wonAlberto Costa7/12
- Defensive actionsMarc Guéhi5
- ShotsErling Haaland6 (on target 4)
- Fouls wonAlberto Costa5
#Champions League#FC Porto#Manchester City#Erling Haaland#Enzo Fernández#Diogo Costa
This review was written by AI from match data (API-Football). FN Score and FN xPts are calculated by Fulltime Note using a published formula.