Bell’inizio giallorosso, dopo 5′ grande azione in velocità, cross di Piangerelli, ma Vugrinec manca l’aggancio. Venti minuti di noia poi Giorgetti crossa dal fondo, ma nè Lucarelli nè Vugrinec agganciano il pallone. Il Milan si sveglia dopo la mezz’ora, angolo dalla destra e testa di Roque Junior sull’esterno della rete. Lo stesso difensore milanista è protagonista al 34′: calcio di punizione per il Lecce, Lucarelli frana a terra proprio su contrasto con Roque Junior e per Borriello è rigore. Dal dischetto Lucarelli non sbaglia proprio mai, al 34 Lecce in vantaggio. Passano solo tre minuti e sugli sviluppi di un corner Bierhoff insacca fortunosamente il pareggio del Milan tra una selva di gambe. Il Lecce prende fiato, al 42′ discesa di Serginho e cross, colpo di testa di Shevchenko per il raddoppio milanista.
Inizia la ripresa, pronti via e dopo 14” Vugrinec pareggia con un tiro meraviglioso dal limite. Al 59′ Giorgetti sfodera un tiro dai venticinque metri e Rossi respinge in corner. Il Milan risponde con Bierhoff, ma la girata del tedesco al 62′ è parata facilmente dal portiere salentino. Al 65′ fallo di Maldini su Vugrinec al limite dell’area, ma la punizione del croato è fuori di nulla. Il Lecce è caparbio, al 66′ punizione-cross di Tonetto e testa vincente di un solissimo Savino. Per il difensore è il secondo gol con la maglia giallorossa ed il secondo gol al Milan, anche lo scorso anno Savino segnò di testa ai “diavoletti” rossoneri. Il Lecce continua a spingere e rischia pochissimo, all’85’ punizione da lontano di Viali e bella respinta del portiere del Milan. Al 90′ arriva la beffa, punizione per i rossoneri – difesa giallorossa dormiente – e tiro al volo vincente del georgiano Kaladze. Il Milan potrebbe segnare ancora al 93′ con Guglielminpietro, ma la palla bagnata sfugge al giocatore del Milan. Alla fine dei tre minuti di recupero pareggio giusto.