В мае 1999 года Шевченко был куплен «Миланом» за 25 миллионов долларов[12][13]. Шевченко дебютировал в команде 21 августа 1999 в матче на Суперкубок Италии против «Пармы»[14]. Его дебют в Серии А состоялся 28 августа 1999 в матче против «Лечче»[15], в той же игре он забил свой первый гол за «Милан»[10]. В первый же год Шевченко стал лучшим бомбардиром чемпионата Италии, забив 24 голa, при этом забив три в ворота римского «Лацио» в одном из первых матчей (4:4). Главным его соперником в споре бомбардиров в те годы был Эрнан Креспо. В следующем сезоне Андрей повторил своё достижение (24 гола в чемпионате), но Креспо забил на два больше. В сезонах 2000/01 и 2001/02 соответственно Шева забил 34 гола в 51 официальных матчах (24 в лиге), но «Милан» не смог выиграть ни одного трофея. Сезон 2002/03 оказался более успешным. Пробыв несколько месяцев без футбола из-за травмы мениска[16]. которую он получил в матче Лиги чемпионов против «Слована» из Либереца[17][18]. Шевченко выиграл Кубок Италии и Лигу чемпионов, где он забил решающий гол в серии послематчевых пенальти в финале в ворота «Ювентуса»[19][20]. Он был первым украинским футболистом выигравшим этот трофей[13]. Через три дня, Шевченко также выиграл Кубок Италии. В августе того же года он выиграл Суперкубок УЕФА[21][22] В сезоне 2003/04 Шевченко выиграл чемпионат Италии. Также он выиграл звание лучшего бомбардира лиги[13]. Для «Милана» это был первый титул за последние 4 года, а для Шевченко второй в карьере. В августе 2004 года Шевченко также выиграл Суперкубок Италии, сделав в нём хет-трик[19][21][23]. В декабре 2004 года Шевченко был награждён «Золотым мячом» как лучший игрок в Европе[13][19][24]. В марте 2004 года, он был внесён в список ФИФА 100 составленный Пеле. Также в 2004 году Шевченко получил звание Героя Украины. Сезон 2004/05 «Милан» закончил на втором месте, благодаря 17 голам Шевченко. Также Андрей забил 6 голов в 11 матчах Лиги Чемпионов. «Милан» вышел в финал этого турнира, где команда проиграла «Ливерпулю» по пенальти 5:3. Матч закончился со счётом 3:3 после основного и дополнительного времени[25]. В серии пенальти Шевченко пробил решающий удар, но его парировал вратарь[26]. В сезоне 2005/06 Шевченко забил 19 голов в 28 играх в чемпионате и 9 голов в 12 матчах Лиги чемпионов. 23 ноября 2005 года, в матче первого этапа Лиги чемпионов против «Фенербахче» забил четыре гола. Вместе с Марко ван Бастеном, Симоне Индзаги, Дадо Пршо, Руудом ван Нистелроем, Лионелем Месси, Бафетимби Гомисом, Марио Гомесом, Робертом Левандовски, Златаном Ибрагимовичем и Луисом Адриано[27] входит в список футболистов которым покорилась такая планка[28]. 8 февраля 2006 года Шевченко стал вторым бомбардиром в истории «Милана», после Гуннара Нордаля. Это случилось в матче против «Тревизо»[13][29]. Последней игрой Шевы за «Милан» был поединок с «Пармой», 7 мая 2006 года. Он был вынужден покинуть поле из-за травмы уже на восьмой минуте[30]. 14 мая 2006 года в матче «Милан» — «Рома» болельщики с песнопениями и баннерами просили Шевченко остаться в «Милане»[31]. 12 мая 2006 года президент «Милана» Сильвио Берлускони сказал: «Шевченко хочет уехать в Англию»[32]. Это стало объектом обсуждения СМИ и множеством слухов. Несколько часов спустя Шевченко сказал:
Это бесполезно прятать вещи. Когда я пошел к президенту мы говорили о многих вещах, в том числе о возможности поменять команду. Пока мы говорили, ничего не решено. Но я хочу уточнить, что мой возможный отъезд не связан с моими отношениями с «Миланом». Это было бы решением, принятым исключительно для моей семьи. Я выражаю огромную благодарность болельщикам за то, что они меня поддерживают