A pesar dunha moi boa conta de 89 goles en 165 partidos para os "Bianconeri", Inzaghi foi logo substituído en favor de David Trezeguet e o 2 de xullo de 2001 asinou para o AC Milan por 70 mil millóns de liras, ou 45 mil millóns de liras en efectivo máis Cristian Zenoni. (Sky Sports informou unha cifra total menor, 17 millóns de libras) para a campaña 2001-02 do adestrador Fatih Terim. A Juventus anunciou que a venda de Inzaghi produciu unha ganancia de capital de 31,1 millóns de euros para o club, facendo que a taxa de transferencia real exceda esa cifra. Inzaghi, con todo, sufriu unha lesión no xeonllo e perdeu a primeira metade da tempada. Ao seu regreso, foi capaz de forxar unha forte asociación de goles con Andriy Shevchenko, e pronto acumulou unha impresionante conta de trofeos cos "Rossoneri" baixo o novo mánager Carlo Ancelotti, entre eles a Liga de Campións 2002-03 (na que o Milán derrotou ao seu equipo anterior, a Juventus, na final por penaltis), xunto coa Coppa Italia 2002-03 (golando nun empate de 2-2 na segunda parte), a Supercopa da UEFA 2003, a Supercopa Italiana 2004
, e o 2003-04 "Scudetto". Na tempada 2002-03 da Liga de Campións, anotou o seu terceiro hat-trick da Liga de Campións contra o Deportivo de La Coruña na fase de grupos e un gol decisivo nos cuartos de final contra o Ajax, totalizando 12 goles europeos nesa tempada. En novembro de 2004, asinou unha extensión de contrato co club.