Начинал играть в футбол в сербском городе Байина-Башта, в возрасте 15 лет переехал в Валево, а затем в 1998 году перешёл в клуб югославского высшего дивизиона «Войводина» из Нови-Сада. В сезоне 1999/00 сыграл 9 матчей, голов не забивал, в сезоне 2000/01 сыграл в 15 матчах, забил 3 гола, в следующем сезоне ни разу не смог отличиться и лишь 7 раз выходил на поле. В сезоне 2002/03 молодой нападающий постоянно играл в основе, провел 12 матчей первого круга турнира, в которых забил 7 голов, став лучшим бомбардиром клуба. Признавался лучшим игроком чемпионата. Успешная игра в клубе и молодёжной сборной страны привлекла к форварду внимание селекционеров многих зарубежных клубов.
В январе 2003 года Йованович перешёл в донецкий «Шахтёр». Первый матч в украинской высшей лиге провёл 9 марта 2003 года, против харьковского «Металлиста». Вскоре он получил тяжёлую травму и выбыл из строя почти на год. После восстановления Йованович лишь изредка появлялся на поле; в чемпионате провел в итоге всего 6 матчей, в которых отметился одним голом. В кубковых встречах также забил один мяч и провёл 3 игры, в том числе две из них в сезоне 2003/04, оказавшись таким образом причастным к победе «Шахтёра» в этом турнире.
В августе 2004 года перешёл в московский «Локомотив». В команде была острая конкуренция среди нападающих, за весь второй круг чемпионата России 2004 года Йованович лишь трижды выходил на замену, а также сыграл один кубковый матч. В самом конце сезона он получил травму, из-за чего был вынужден пропустить первые предсезонные сборы. В 2005 году ему так и не удалось пробиться в основной состав клуба, а на следующий сезон, несмотря на действующий контракт, он не был даже включён в заявку «Локомотива». Йованович расторгнул соглашение с «Локомотивом».
В середине 2006 года Йованович подписал контракт с бельгийским клубом «Стандард» из Льежа. В первом же сезоне он стал лучшим бомбардиром своей команды с 13 забитыми мячами, а в следующем году помог «Стандарду» завоевать золотые медали чемпионата Бельгии.
В феврале 2010 года стало известно о том, что Йованович, у которого летом должен был закончиться контракт со «Стандартом», подписал предварительное соглашение о переходе в «Ливерпуль». Несмотря на то, что позднее не раз появлялись сообщения о том, что до заключения контракта дело всё же может не дойти, сам игрок несколько раз подтверждал, что всё же перейдёт в «Ливерпуль». 30 июня 2010 года серб подтвердил информацию о том, что трансфер состоится, сказав, что уже заключил полноценный контракт с «красными».
8 июля «Ливерпуль» официально подтвердил переход Милана Йовановича, сообщив, что с игроком подписан контракт на три года.
Выступал в составе молодёжной сборной Сербии и Черногории. В мае 2007 года получил вызов в главную сборную Сербии. Свой первый матч в её составе провёл 2 июня 2007 года против сборной Финляндии. Йованович вышел на замену на 60-й минуте, а на 86-й забил гол. Милан Йованович, с 5-ю забитыми голами, стал лучшим бомбардиром сборной Сербии в отборочных играх чемпионата мира 2010, и в ее составе завоевал путёвку в финальную часть ЧМ—2010 в ЮАР.