AC Milan fell to their third successive group stage defeat on their return to the Champions League with a 1-0 loss away to FC Porto.
A controversial goal from Luis Diaz is all that separated the sides at the Estadio do Dragao, and Stefano Pioli's men have a mountain to climb if they're to reach the knockout stages.
Diaz nearly gave Porto a fifth-minute lead when his strike thundered against the woodwork, while Mehdi Taremi particularly put the frighteners on Milan's weakened backline.
Olivier Giroud and Simon Kjaer both failed to beat Diogo Costa with headers as a toothless Milan struggled to trouble their hosts.
Colombia international Diaz finally gave Porto a deserved lead after 65 minutes when the Rossoneri failed to deal with a Joao Mario cross. Taremi managed to lay the ball off to Diaz to slot it home, but Milan were furious that the striker was deemed not to have fouled Ismael Bennacer in doing so.
Even Zlatan Ibrahimovic couldn't prevent Milan from losing in Portugal and they have serious work to do to reach the last 16.
MILAN PLAYER RATINGS
1. Goalkeeper & defenders
Ciprian Tatarusanu (GK) - 5/10 - Not much he could have done about the goal but his distribution is clearly a few levels below that of Mike Maignan.
Davide Calabria (RB) - 4/10 - Lack of pace harmed him in his duel with Diaz.
Simon Kjaer (CB) - 7/10 - A performance worthy of a Ballon d'Or nominee. Shame about those around him.
Fikayo Tomori (CB) - 5/10 - Not commanding or strong at all, which is very unusual for someone as consistent as Tomori has been for Milan.
Fode Ballo-Toure (LB) - 5/10 - Just quite obviously is not Theo Hernandez. Not his fault, but still.
Ismael Bennacer (CM) - 7/10 - Unfortunate not to have earned Milan a free kick in the build-up to Porto's goal, and was one of the away side's only bright sparks.
Sandro Tonali (CM) - 6/10 - Tidy as usual but was let down by the lack of talent ahead of him.
Rade Krunic (AM) - 4/10 - No end product despite looking tidy on the ball. A real shame.
Alexis Saelemaekers (RW) - 5/10 - Worked hard, but produced very little to help Milan score a goal.
Olivier Giroud (ST) - 4/10 - Substituted for Ibrahimovic because he just couldn't make an impact on the game at all.
Rafael Leao (LW) - 5/10 - Not his finest night but at least he looked lively.
Zlatan Ibrahimovic (ST) - 4/10 - Wasn't much better than Giroud, to be honest.
Alessio Romagnoli (CB) - 5/10
Pierre Kalulu (LB) - 4/10
Tiemoue Bakayoko (CM) - N/A
Daniel Maldini (AM) - N/A