Дебют в сербской Суперлиге состоялся в 2013 году в матче с «Вождовацом» (1:0). Изначально вступая на позициях в центре поля и даже нападения, Милан был позже переведен на правый фланг защиты. По итогам 2014 года был признан лучшим игроком команды.
Летом 2015 года Милан перешел в французский «Бордо», однако травмы и частая смена тренеров не дали футболисту возможности проявить себя полностью. В 2019 году футболист на правах свободного агента перешел в «Црвену Звезду», за которую провел более 100 матчей, забил шесть голов и отдал 25 результативных передач. Также в составе клуба Милан стал четырехкратным чемпионом Сербии и дважды выиграл национальный кубок.
После истечения контракта летом 2022 года защитник присоединился к ЦСКА. Дебютировав в игре первого тура РПЛ против «Урала» (2:0) футболист сразу стал игроком основного состава: за два сезона защитник пропустил всего пять матчей.
Милан выступал за молодежные сборные Сербии с 2013 года, а в 2015 году вместе с ней стал чемпионом мира. За основную команду страны защитник дебютировал в 2021 году.