FC Porto vs Manchester City

FC Porto vs Manchester City

FT
FC Porto
0 - 2 FT
Manchester City
UEFA Champions League · League Stage - 1 Porto · Estádio do Dragão
Match outlook

Win Prediction

Home win19%
Draw24%
Away win57%

The 1X2 read updates as lineups, score and match state change.

In the app

Want the full match call?

Get the projected score, goals outlook, key reasoning and live updates in the Nutmegly app.

Get the full prediction →
Live coverage

Match commentary

34

Key events and shifts on the pitch update here as they happen.

•

Manchester City delivered a clinical performance to cruise past FC Porto with a controlled 2-0 win.

90+3' 0-2

🟨 Booking · FC Porto 0-2 Manchester City — Erling Haaland booked 90+3

90+3' 0-2

🟨 Booking · FC Porto 0-2 Manchester City — Pablo Rosario booked 90+3

90+1' 0-2

⚽ GOAL · FC Porto 0-2 Manchester City — Erling Haaland 90+1

90' 0-2

Haaland strikes at the death to wrap up all three points for City.

86' 0-1

🟨 Booking · FC Porto 0-1 Manchester City — Francesco Farioli booked 86

86' 0-1

City are conceding fouls to break up play, but Porto still cannot test the keeper as time slips away.

83' 0-1

🔄 Sub · FC Porto 0-1 Manchester City — Gabri Veiga / Seko Fofana 83

79' 0-1

City are comfortably ticking down the clock with over 500 accurate passes completed.

75' 0-1

🔄 Sub · FC Porto 0-1 Manchester City — Phil Foden / Rayan Aït-Nouri 75

75' 0-1

🔄 Sub · FC Porto 0-1 Manchester City — Ayyoub Bouaddi / Mateo Kovačić 75

73' 0-1

🔄 Sub · FC Porto 0-1 Manchester City — André Silva / Santiago Giménez 73

Follow the full match commentary and alerts in the app →
UEFA Champions League

Match Timeline

93'
Josko Gvardiol booked
37'
Erling Haaland scores
0-1 0-1
47'
Gianluigi Donnarumma booked
49'
Francesco Farioli booked
86'
Erling Haaland scores
0-2 0-2
90+1'
Pablo Rosario booked
90+3'
Erling Haaland booked
90+3'

Final recap: the actual goal timeline.

Match data

Technical stats

Through 15'
FC PortoManchester City
0Shots on target0
32%Possession68%
2Fouls1
1Free kicks2

Drag the timeline to inspect real cumulative data at each checkpoint.

Starting XI
4-3-3 Manager · F. Farioli
Starting 11
  • 99 Diogo Costa G
  • 20 Alberto Baio D
  • 18 N. Pérez D
  • 4 J. Kiwior D
  • 52 Martim Fernandes D
  • 13 P. Rosario M
  • 22 A. Varela M
  • 10 Gabri Veiga M
  • 7 William F
  • 19 André Silva F
  • 11 Pepê Aquino F
Substitutes
  • 92 João Pedro Moreira Teixeira M
  • 14 Cláudio Ramos G
  • 24 Andorinha G
  • 57 Duarte Cunha F
  • 42 S. Fofana M
  • 29 S. Giménez F
  • 64 Luís Gomes D
  • 16 Hwang In-Beom M
  • 74 Francisco Moura D
  • 17 Borja Sainz F
  • 58 T. Silva M
  • 33 Souza D
Substitutions
  • 68'
    Out · Alan Gonzalo Varela In · Hwang In-Beom
  • 68'
    Out · William Gomes In · Borja Sainz
  • 73'
    Out · Martim Fernandes In · Francisco Moura
  • 73'
    Out · André Silva In · Santiago Giménez
  • 83'
    Out · Gabri Veiga In · Seko Fofana
4-2-3-1 Manager · E. Maresca
Starting 11
  • 1 G. Donnarumma G
  • 27 Matheus Nunes D
  • 3 Rúben Dias D
  • 6 M. Guéhi D
  • 24 J. Gvardiol D
  • 32 A. Bouaddi M
  • 17 E. Fernández M
  • 42 A. Semenyo M
  • 10 R. Cherki M
  • 47 P. Foden M
  • 9 E. Haaland F
Substitutes
  • 22 Vitor Nunes D
  • 28 G. Rulli G
  • 7 I. Ndiaye F
  • 56 R. McAidoo F
  • 82 R. Lewis D
  • 8 M. Kovačić M
  • 45 A. Khusanov D
  • 13 M. Bettinelli G
  • 5 E. Anderson M
  • 37 Allan F
  • 21 R. Aït-Nouri D
Substitutions
  • 48'
    Out · Josko Gvardiol In · Abdukodir Khusanov
  • 62'
    Out · Antoine Semenyo In · Iliman Ndiaye
  • 62'
    Out · Rayan Cherki In · Elliot Anderson
  • 75'
    Out · Ayyoub Bouaddi In · Mateo Kovačić
  • 75'
    Out · Phil Foden In · Rayan Aït-Nouri
Odds Movement
In the app
Full odds-movement trend
See timestamped, line-by-line odds changes where data is available in the app.
Get the app →
Hottest in Last 5
In the app
In-form player intel
Recent ratings, goals and assists for both sides — in the app.
Get the app →
Want this match's alerts first?
Set a trigger in the app — score, lineup and injury alerts pushed to your phone.
Get the app to set alerts →