Efter noll poäng efter de två fösta omgångarna behövde Milan få med sig ett bra resultat borta mot Porto. Men det italienska laget hade det tufft och var rejält tillbakatryckta under stora delar av matchen.
Porto var klart bäst i den första halvleken och radade upp chanser. Efter bara fem minuter träffade yttern Luis Diaz stolpen.
Hemmalaget fortsatte att trycka tillbaka Milan. Och anfallaren Mehdi Taremi hade tre vassa chanser inom loppet av fem minuter, men utan att lyckas sätta bollen i mål.
Givet matchbilden så var nog Milan ganska nöjda med 0-0 efter den första halvleken.
Den andra halvleken började på samma sätt som det såg ut i den första. Porto tryckte på. Anfallaren Evanilson hade en bra chans och det hade även den centrala mittfältaren Otavio.
Efter 58 minuter försökte Milans tränare Stefano Pioli få ordning på sitt lag och gjorde ett trippelbyte, bland annat kom Zlatan Ibrahimovic in.
Men bara sju minuter senare gjorde Porto 1-0.
Luis Diaz placerade behärskat in bollen nere vid målvaktens vänstra stolpe.
Efter målet kom Milan in i matchen på ett bättre sätt. Ibrahimovic var bra som uppspelspunkt, och efter 76 minuter spelade han snyggt fram Alessio Romagnoli, som dock fick en svag touch och en farlig chans försvann.
Porto vann med 1-0 och har nu fyra poäng. Milan har fortfarande noll poäng.
Startelvor:
Porto: Diogo Costa - João Mario, Pepe, Mbemba, Wendell - Uribe, Oliveira, Otavio, Evanilson - Diaz, Taremi.
Milan: Tatarusanu - Calabria, Kjaer, Tomori, Ballo-Touré - Tonali, Bennacer - Saelemaekers, Krunic, Leão - Giroud.