El colombiano Luis Díaz fue el autor del tanto (minuto 65) que dejó los tres puntos en la ciudad portuguesa.
Este resultado permite al Oporto sumar 4 puntos, mientras que el Milan sigue colista sin puntuar tras tres derrotas en otros tantos partidos.
Por delante sigue teniendo al Liverpool (1º, pleno de 9 puntos), que venció 3 a 2 en su visita al Atlético de Madrid (2º, 4 puntos).
En el duelo de este martes en el estadio del Dragón, el Oporto arrancó fuerte y Luis Díaz envió al palo en el minuto 5.
El Milan tuvo en la primera mitad una buena ocasión, con un remate de cabeza del francés Olivier Giroud (19), pero fueron los blanquiazules los que llevaron más peligro en esos primeros 45 minutos, especialmente con buenas ocasiones de su jugador iraní Mehdi Taremi (24, 28, 37), sin puntería en esta ocasión.
Te puede interesar: Manchester City se pasea con triunfo 5-1 ante Brujas en la tercera jornada de la Liga de Campeones
En la segunda parte, el Oporto siguió presionando. Otavio (52) y Matheus Uribe (55) avisaron justo antes del gol luso, que llegó en el 64, cuando desde el suelo Taremi dejó un balón en corto para que Luis Díaz enviara un tiro raso cruzado que sirvió para batir al arquero rumano Ciprian Tatarusanu.
El Milan siguió sin encontrar espacios y no pudo evitar esta nueva derrota, que le deja al borde del abismo en esta Champions.
Ver: Liverpool golea al Atlético de Madrid y lo tumba en su propia casa en la UEFA Champions League
Oporto y Milan volverán a enfrentarse dentro de dos semanas, el miércoles 3 de noviembre en San Siro, en la cuarta jornada.