Nel giugno 1998 viene acquistato dal Milan per 10 miliardi di lire, esordendo in Coppa Italia contro il Torino. Inizialmente relegato in panchina dall'allenatore Alberto Zaccheroni, riesce in seguito a ottenere un posto da titolare nel 3-4-3: il 17 gennaio 1999, contro il Perugia, realizza la prima rete in Serie A. Chiude la prima stagione in rossonero con la vittoria dello scudetto: nell'ultima giornata di campionato va ancora a segno, sempre contro il Perugia, confermandosi anche un ottimo rifinitore. Il 17 luglio 2001, per via del poco spazio riservatogli dai tecnici, passa all'Inter in uno scambio con Cristian Brocchi.