Профессиональная карьера Ивана Мильковича началась в 1997 году в белградском «Партизане». 4 октября 1998 года в Японии он провёл первый матч за сборную Югославии, в ноябре того же года выиграл серебряную медаль чемпионата мира.
На Олимпийских играх 2000 года в Сиднее 21-летний Милькович, самый молодой в составе югославской сборной, стал самым результативным игроком финального матча против сборной России, набрав для своей команды 19 очков, в том числе последнее, завершившее третью партию и матч победой сборной Югославии.
Став олимпийским чемпионом, Иван продолжил клубную карьеру в Италии. В течение семи сезонов он выступал за «Мачерату», с которой выиграл два Кубка Италии, Лигу чемпионов, три Кубка CEV, а в сезоне-2005/06 — скудетто и приз самому результативному игроку итальянского чемпионата.
В 2007 году он перешёл в «Рому», но из-за банкротства этого клуба в июле 2008 года подписал двухлетний контракт с греческим «Олимпиакосом». Летом 2010 года перешёл в турецкий «Фенербахче».
В играх за сборную Югославии, Сербии и Черногории, Сербии Иван Милькович заслужил репутацию одного из сильнейших диагональных нападающих конца XX — начала XXI века. За максимальную эффективность и стабильность в нападении, мощную подачу и психологическую устойчивость получил прозвище «Иван Грозный». Он побеждал в споре самых результативных игроков на двух чемпионатах Европы и шести розыгрышах Мировой лиги, что является рекордом этого турнира.
В 2001 и 2011 годах Милькович становился чемпионом Европы и на обоих чемпионатах признавался самым ценным игроком. Второй титул он завоевал, будучи капитаном сборной Сербии.
Почти на всех турнирах в составе югославской и сербской сборных Иван Милькович входил в тройку лучших бомбардиров. Только на Олимпиаде в Афинах его личный результат оказался невысоким: на тех Играх Милькович из-за болезни провёл три матча из шести.