Il 2-0 dell'andata fa pendere il discorso qualificazione in maniera importante dalla parte dei rossoneri. All'Inter servirebbe infatti 'un miracolo' per ribaltare la debacle della gara di andata. Mancini e i tifosi però sperano: la notizia è infatti il recupero del brasiliano Adriano, cui il tecnico jesino nell'undici titolare pone a supporto sulla trequarti il terzetto composto da Van der Meyde, Veron e Kily González. In difesa gioca Materazzi e Mihajlovic parte dalla panchina.
Ancelotti, invece, effettua un'unica variazione rispetto alla gara di andata: a centrocampo Ambrosini prende il posto dello squalificato Gattuso, e per il resto la squadra è la stessa di 6 giorni prima. In uno Stadio Meazza gremito di oltre 82.700 spettatori, la gara inizia con toni agonistici elevati.
Kily González al 4' stende Sheva lanciato in contropiede: il fischietto tedesco Merk estrae il giallo e riserva lo stesso trattamento pochi secondi dopo ad Ambrosini, che non fa complimenti ed entra a gamba tesa proprio sull'argentino dell'Inter. I falli continuano a succedersi: Cordoba stende Kaká sulla trequarti, e sul successivo calcio di punizione Pirlo piazza il pallone di oltre un metro sul fondo sulla destra.
In casa Inter è Veron a scaldare i guantoni di Dida, costretto alla deviazione in corner su conclusione violenta e improvvisa dell'ex laziale. Adriano è ben controllato dalla difesa rossonera, e al 30' anche il match di ritorno cambia: Cafu scende sulla destra e serve un bel pallone a Shevchenko, che controlla al limite dell'area e con un potente sinistro fulmina Toldo.
Il Milan passa a condurre anche nella gara di ritorno, e per l'Inter la situazione si fa molto difficile: vista la regola dei goal in trasferta, i nerazzurri dovrebbero vincere 4-1 per qualificarsi.
Contrariamente alle dichiarazioni bellicose di Moratti e Facchetti alla vigilia del doppio confronto, la squadra di Mancini non è riuscita a tener testa a quella di Ancelotti. E, inevitabilmente, subentra il nervosismo. In campo e sugli spalti.
Kily González impegna ancora Dida alla deviazione in corner con una sventola dalla distanza, poi Adriano, pressato da Cafu, di testa gira a rete ma non inquadra lo specchio. Dall'altra parte un colpo di testa del terzino brasiliano, forse spinto da Favalli, ha la stessa sorte. Il primo tempo, dopo un fallaccio di Nesta su Adriano, punito da Merk con il giallo, termina 0-1.
Dopo l'intervallo Mancini si gioca la carta Mihajlovic al posto di Cristiano Zanetti, con l'intento di creare pericoli ai rossoneri sui calci di punizione, e Julio Cruz al posto di Kily González per dare maggior peso all'attacco. Ancelotti, invece, non opera cambi e va avanti con lo stesso undici che ha iniziato la partita.
Il tecnico nerazzurro si gioca il tutto e per tutto e spende anche il terzo cambio già al 51': fuori Adriano, apparso ancora lontano dalla miglior condizione, e dentro Martins, il nigeriano che aveva punito i rossoneri nell'euroderby 2003.
L'Inter aumenta effettivamente la sua pericolosità offensiva ma è piuttosto imprecisa e la difesa rossonera controlla bene. Intanto cambia anche Ancelotti, che rinforza il centrocampo togliendo Crespo e inserendo al suo posto Rui Costa.
La prima vera occasione per i nerazzurri arriva al 70': pregevole conclusione col destro di Van der Meyde e Dida deve volare sulla sua sinistra per deviare in calcio d'angolo. Quando sembra che la gara volga verso un finale combattuto e ricco di emozioni, un episodio contestato da parte dei nerazzurri scatena la follia dei tifosi.
Calcio d'angolo battuto a giro dalla destra da Mihajlovic, la traiettoria del pallone scavalca Dida, non impeccabile nell'occasione nell'uscita, e arriva sulla testa di Cambiasso, che da distanza ravvicinata, vanamente contrastato da Cafu, insacca.
I nerazzurri, in campo e sugli spalti, esultano, ma la gioia dura pochi secondi: per Merk c'è stata una carica di Cruz su Dida, dunque goal annullato e calcio di punizione per il Milan. La decisione dell'arbitro spegne la luce della razionalità nei tifosi nerazzurri, che iniziano dalla Curva Nord un fitto lancio di fumogeni, bottigliette e petardi sul terreno di gioco del Meazza.
L'arbitro si trova costretto allora a sospendere la partita, quando uno dei petardi colpisce alla spalla destra il portiere brasiliano del Milan. I sanitari rossoneri devono portarlo fuori dal campo per soccorrerlo, e aumenta ulteriormente l'esasperazione del tifo nerazzurro. Merk decide allora di rimandare le squadre negli spogliatoi. Non ci sono le condizioni di sicurezza per riprendere a giocare.
Quello che doveva essere uno spettacolo straordinario, uno spot per Milano e per il calcio italiano, si era appena trasformato in quello che sarà universalmente ricordato come il ‘Derby della Vergogna’.
Trascorsi 26 minuti, e sgomberato il prato di San Siro di tutti gli oggetti lanciati dai tifosi nerazzurri, si prova a riprende, con Abbiati al posto di Dida nella porta rossonera. Il brasiliano se la caverà con un grande spavento, una leggera ferita e un'ustione, ma quell'incredibile episodio condizionerà il prosieguo della sua carriera.
Le squadre tornano in campo, il tentativo di portare a termine il derby di ritorno, tuttavia, si rivelerà vano: le intemperanze del tifo nerazzurro continuano, come il lancio di fumogeni e petardi. Dall'altra parte del campo, in un'immagine che passerà alla storia in quella serata di follia, Materazzi e Rui Costa, avversari sul campo, osservano assieme increduli e impotenti lo scenario da guerra sotto la Nord.
Merk si vede costretto a decretare la fine anticipata della partita. L'1-0 del campo in sede di Commissione disciplinare diventa 0-3 a tavolino per il Milan, ma ad uscirne fortemente danneggiati a livello di immagine sono Milano e tutto il calcio italiano, che di lì a poco avrebbe vissuto lo scandalo di Calciopoli.
"Le partite non devono finire così - dichiara il tecnico dell'Inter, Roberto Mancini -. C'è grande amarezza per tutto quello che è successo, siamo dispiaciutissimi".
Ancora più pesanti sono le parole di Carlo Ancelotti.
"Quanto accaduto è colpa della cultura italiana - sostiene Carletto -. Io ho vissuto moltissimi derby prima da calciatore e poi da allenatore ed è la prima volta che assisto ad una cosa del genere. Si è penalizzata tutta Milano, una città che ha sempre dimostrato grandissima correttezza".
"Tutti dovrebbero smetterla di fare polemiche in tv - prosegue -. Nel nostro calcio ci sono tante chiacchiere gratuite che fanno venire fuori altri aspetti del calcio che nulla hanno a che fare con il gioco. Quella di oggi è stata una reazione inaspettata, c’è una cultura da cambiare ed uno sport da vivere con maggiore tranquillità".
Dopo quel derby, trasformato da momento di festa per lo sport in guerriglia urbana, il Milan proseguirà il suo cammino europeo raggiungendo la finale di Istanbul dopo aver eliminato anche il PSV Eindhoven in semifinale.
In finale, tuttavia, i rossoneri, in vantaggio per 3-0 dopo 45 minuti, saranno rimontati dal Liverpool e poi battuti ai calci di rigore in quella che resta a tutt'oggi una delle sconfitte più amare della storia del Diavolo.
L'Inter, invece, uscita male dal doppio confronto stracittadino sul piano sportivo e del comportamento dei propri tifosi, si consolerà a fine stagione con la vittoria della Coppa Italia a spese della Roma. Lo Scudetto, invece, vinto sul campo dalla Juventus, eliminata a sua volta ai quarti di finale dal Liverpool, le sarà revocato dopo Calciopoli.