Milan utan Zlatan Ibrahimovic såg håglöst ut i större delen av matchen borta mot Liverpool, men trots det var de inte alltför långt ifrån att sno med sig åtminstone en poäng.
Jordan Hendersons 3–2 i andra halvlek blev avgörande för hemmalaget.
Ibland är fotboll logiskt, ganska ofta är det motsatsen. Liverpool borde haft ledningen med två eller tre mål i halvtid. I stället låg de under med 1–2.
– Vi körde över dem första halvtimmen. Sedan blev vi slarviga slutade göra sådant som vi gjorde riktigt bra. Vi släppte in dem i matchen och gick in i halvtid och tänkte "hur lät vi det här hända?", säger Andy Robertson till BT Sport.
Liverpool gjorde 1–0 redan i den nionde minuten. Trent Alexander-Arnold löpte i full galopp längs högerkanten, avancerade in i straffområdet och avslutade i mål via en olycklig Fikayo Tomori.
Fem minuter därefter dömde domaren straff till det engelska storlaget, men fransmannen Mike Maignan lyckades rädda både Mohamed Salahs elvametersspark och returen.
Dubbla vändningar
Trycket fortsatte, men målen uteblev – åtminstone för Liverpool.
I den 42:a minuten klev däremot Milan upp i ett av väldigt få anfall. Rafael Leao hittade en fri Ante Rebic i straffområdet som rullade in kvitteringen i den 42:a minuten.
Bara två minuter senare var det dags igen. Brahim Diaz petade in 2–1 i öppet mål efter att det första avslutet räddats av försvararen Robertson på mållinjen.
Men Salah skulle få sin revansch, fyra minuter in i den andra halvleken. Egyptiern nåddes av en perfekt chipp in i straffområdet och förvaltade friläget på bästa sätt.
När Jordan Henderson sedan dundrade in 3–2 på ett distansskott i den 69:e minuten fanns det ingen väg tillbaka för Milanolaget.
– Vi fick ett tidigt mål och sedan vilket skott av "Hendo", och så kunde vi hålla undan resten av matchen. De hade inte riktigt några chanser efter det, vilket var glädjande. Vi vet hur tufft Champions League är och hur viktigt det är att inleda med tre poäng, säger Robertson.
Atlético Madrid och Porto spelade 0–0 i samma grupp.
Bellingham hjälte
Det tyska topplaget Dortmund fick en fin start i gruppspelet i Champions League när de vann med 2–1 borta mot Besiktas. En stor anledning till det stavas Jude Bellingham.
Engelsmannen gjorde själv ledningsmålet i den 20:e minuten när han avslutade med ett rappt volleyskott som smet in mellan målvaktens ben. Sedan spelade han fram till Erling Braut Haalands 2–0-mål.
Besiktas lyckades reducera i den 94:e minuten genom mittbacken Francisco Montero, men närmare än så kom inte hemmalaget.
Haller fyramålsskytt
Om Bellingham hade en imponerande afton mot Besiktas, var det ingenting i jämförelse mot vad Ajaxanfallaren Sébastien Haller hade mot Sporting Lissabon i samma grupp.
Den franskfödde ivorianen var tvåmålsskytt redan efter tio minuters spel, och än bättre skulle det bli. I andra halvlek fullbordade han ett hattrick, och tryckte sedan in sitt fjärde mål av bara farten.
– Jag kan inte fatta det, det är som en dröm. Jag kunde inte förvänta mig mer. Jag är bara glad och ska försöka att njuta ikväll, säger 27-åringen till Uefa.com.
Ajax vann till slut med imponerande 5–1 på bortaplan.
Samtidigt tog Real Madrid en viktig seger borta mot Inter – men det satt långt inne. Matchen såg ut att bli mållös när brassen Rodrygo klev fram och gjorde kampens enda mål i den 90:e minuten.
– En totalt oförtjänt förlust, säger Inters anfallare Edin Dzeko till Amazon Prime Italia och fortsätter:
– Vi förtjänade mycket, mycket mer. Men det är svårt när man inte gör mål. Vi hade en jättebra match.