Der var lagt op til en meget spændende semifinale på San Siro mellem Milan og Manchester United. United havde vundet første kamp på Old Trafford med 3-2 efter et flot comeback, som de dog ikke kunne gentage igen i aftes. Milan satte sig på kampen fra start, mens United-spillerne virkede lidt langsommere i optrækket end man er vant til at se dem. Det var da også Milan der kom til den første farlige mulighed. Kaka overløb Vidic og sparkede fladt forbi mål, på noget der kunne ligne en mellemting mellem en afslutning og en aflevering. Efter 11 minutters spil scorede Milan det ene mål, de minimum skulle bruge. Seedorf modtager en lang bold i dybden, header den første gang på tværs til Kaka som fra kanten af feltet flot banker bolden i kassen med sin Adidas Absolute Rød/Hvid. Efter en halv times spil kunne Seedorf øge føringen til 2-0. Vidic laver en kæmpe fejl da han glider i bolden, hvilket resulterer i at Milan får bolden helt oppe i Uniteds forsvar. Bolden bliver slået ind, Seedorf får fat i bolden, tørrer lidt heldigt en modstander, for derefter med sin Lotto-støvle at banke bolden i kassen. Der skete ikke mere inden pausen og dermed gik spillerne til pause ved stillingen 2-0. Derfor kunne man forvente et stort pres mod Milans mål i anden halvleg. United formåede dog ikke at lægge det helt store pres, da milaneserne var dygtige til at holde i bolden og dermed tage tempoet ud af kampen. Englænderne fik dog spillet sig frem til en stor Rooney-chance. Her gik en forsvarsspiller klart i ryggen på Rooney, som ikke havde en chance for at få afsluttet, men dommerens fløjte forblev tavs. Som et resultat af Uniteds offensive satsninger blev forsvaret noget hullet. Det udnyttede Milan 12 minutter før tid til at score målet til 3-0 som for alvor lukkede kampen. Gilardino blev spillet helt fri i dybden og kunne uden problemer udplacere van der Sar med sin Nike Air Legend. Kampen slutter dermed 3-0 til Milan som er klar til finalen d. 23. maj mod Liverpool – en gentagelse af finalen fra 2005.