Миловановићеви први сениорски наступи везују се за крушевачкиТрајал, после ког је наступао за Копаоник из Бруса. На кратко се вратио у матичну Прву Петолетку из Трстеника, а затим је лета 2011. имао успешну пробу у Слоги из Краљева. У том клубу је стандардно наступао пуне три сезоне у Првој лиги Србије и био стрелац три поготка. Касније је исто такмичење освојио са Радником из Сурдулице за сезону 2014/15. током које је изводио слободне ударце и пенале и на тај начин био стрелац неколико погодака. Такође, после одласка Љуба Баранина из клуба, Миловановић је од њега преузео улогу бацача дугих лопти из аута. У Раднику је провео пет година и одиграо троцифрени број утакмица, а повремено је носио и капитенску траку. Иако је током каријере углавном наступао као леви бек, на појединим утакмицама играо је и у средишњем делу одбране, што је касније наставио да игра и у крушевачком Напретку. Као капитен је допринео историјском пласману новосадске Младости у Суперлигу Србије 2022. године.
Миловановић је рођен у Краљеву,[7] а одрастао у Трстенику, где је прошао млађе селекције Прве Петолетке.[8] Носио је и дрес чачанскогБорца,[9] а као сениор је најпре наступао за екипу крушевачкогТрајала,[10] која је освојила прво место на табели Поморавске зоне за такмичарску 2005/06. и пласирала се у Српску лигу Исток.[11] Током сезоне 2007/08. одиграо је 22 утакмице уз 2 поготка и по том параметру био међу најстандарднијим фудбалерима у тиму.[12] Клуб је након те сезоне испао из лиге, а Миловановић је касније прешао у састав Копаоника из Бруса. У том тиму је у наредном периоду постао један од утицајнијих играча,[13] а у првом делу такмичарске 2009/10. постигао је 4 гола на 8 одиграних сусрета.[14] Током зимске паузе у сезони 2010/11, Миловановић је, заједно са саиграчем Владимиром Симовићем, напустио клуб и вратио се у матични Трстеник.[15] По истеку сезоне отишао је на пробу у краљевачку Слогу.[16]
После пробе коју је прошао током летњих припрема заједно са осталим првотимцима, Миловановић је приступио краљевачкој Слоги пред почетак такмичарске 2011/12. у Првој лиги Србије.[17] Слога је на тај начин обезбедила позицију левог бека на којој је претходно наступао Александар Гојковић, а која је остала упражњена након његовог одласка у ужичкуСлободу.[18][19][20] За клуб је званично дебитовао на отварању сезоне, 13. августа, када је Слога поражена на гостовању Синђелићу у Нишу.[21] Током сезоне се усталио у постави своје екипе и до краја првог дела уз голмана Александра Божовића провео сваки минут на терену.[22] Постигао је и један погодак, на гостовању Инђији у 12. колу Прве лиге.[23] У наставку првенства пропустио је два сусрета. Најпре је изостао против зрењанинскогБаната,[24] а затим и против Радничког у Сомбору,[25] што је била последица 4. жутог картона који му је претходно показан против Чукаричког.[26] У својој првој сезони у клубу забележио је укупно 32 прволигашка наступа, колико су имали још само капитен Бобан Дмитровић и Немања Милетић, његови саиграчи из одбрамбеног дела терена.[10]
Како Миловановић није имао алтернативу на левом боку,[27] Слога је током лета 2012. довела Душана Младеновића из нишког Синђелића.[28] На отварању нове сезоне, Слога је одиграла без голова са Колубаром у Лазаревцу. Миловановић је тада на полувремену замењен због лакше повреде ноге.[29] Наредну утакмицу, против чачанскогБорца, започео је на клупи за резервне фудбалере. Међутим, услед повреде Душана Младеновића у 20. минуту, Миловановић је одиграо остатак те утакмице на месту левог бека.[30] Још неколико пута је улазио у игру као резервиста, док је у другом делу сезоне био стандардан. Три пута је изостао из протокола због парних жутих картона.[31] Поред 28 лигашких утакмица, наступио је и на сусрету шеснаестине финалаКупа Србије са ОФК Београдом на Омладинском стадиону.[32][33][34]
Доласком Вељка Доведана на место шефа стручног штаба Слоге, екипа је током јесењег дела такмичарске 2013/14. бележила запажене резултате и зимску паузу дочекала на 2. месту табеле Прве лиге.[35][36][37] Миловановић је од почетка сезоне и утакмице са екипом Јединства Путева у Ужицу био део стартне поставе.[38] Поред максималне минутаже у лиги, Миловановић је у првом делу сезоне одиграо и сусрет шеснаестине финала Купа Србије са новосадскомВојводином.[39][40][41] Свој први погодак постигао је у 10. колу против Смедерева, док је у наставку сезоне погодио против Бежаније.[42][43][44] Сезону је завршио са одиграних 26 лигашких и 1 куп сусретом.[10] Услед изостанка финансијске подршке, Слога је лета 2014. распустила највећи део дотадашњег играчког кадра, те је и Миловановић исте године променио средину.[45][46][47]
Пред почетак такмичарске 2014/15, Миловановић је прешао у Радник, заједно са бившим саиграчем Јованом Јовановићем, те Бојаном Шејићем, претходно такође голманом Слоге који је сурдуличком клубу приступио незнатно раније истог лета.[48] Миловановић је за Радник дебитовао на отварању сезоне, када је сусрет са Пролетером на Стадиону Слана Бара завршен без погодака.[49] Већ у наредном колу био је стрелац једног од погодака та свој тим у победи од 4 : 0 над Колубаром на домаћем терену.[50] Такође, погодио је и у трећем колу из слободног ударца, када је сусрет у Ужицу између домаће екипе Јединство Путеви и Радника завршен резултатом 0 : 2.[51] Свој трећи погодак у сезони постигао је у 10. колу, савладавши бившег чувара мреже Радника, Душана Пулетића, за победу од 2 : 1 над саставом БСК Борче. Према оцени извештача Врањских, Миловановић је изабран за најбољег појединца сусрета.[52] На почетку другог дела сезоне, Миловановић је био стрелац за минималну победу над Пролетером. Он је тада из једанаестерца погодио мрежу гостујућег тима, после прекршаја противничког голмана Немање Бузаџије над нападачем Јовановићем.[53] Из пенала је погодио и на гостовању ужичкој Слободи,[54] док је 15 минута пре краја утакмице искључен услед другог жутог картона.[55] Два кола пре краја такмичења, Радник је обезбедио пласман у Суперлигу Србије.[56] Миловановић је после тога у претпоследњој утакмици у сезони био стрелац још и у ремију 1 : 1 са Слогом у Петровцу на Млави.[57] На затварању сезоне, Радник је победио Металац из Горњег Милановца резултатом 4 : 0,[58] после чега је екипи уручен пехар намењен првопласираном тиму Прве лиге Србије.[59] После Бојана Шејића и Милоша Крстића, Миловановић је током сезоне био трећи најчешће коришћени фудбалер Радника на терену.[60] На 27 одиграних утакмица постигао је укупно 6 погодака.[10] У шеснаестини финала Купа Србије није био у саставу сусрета са суботичкимСпартаком када је Радник елиминисан из даљег такмичења те сезоне.[61]
У највишем степену фудбалског такмичења у Србији Миловановић је дебитовао такође против суботичког Спартака, 18. јула 2015. године. Утакмица је завршена без погодака, а у извештају је наведено да је Миловановић у завршници пропустио прилику за победу свог тима.[62][63][64] У наредна два кола уписао је по асистенцију. Најпре је против Војводине учествовао у акцији код првог поготка Радника у Суперлиги, када је стрелац био Славиша Стојановић,[65] а затим и код поготка Милана Ћулума, јединог у поразу од Рада резултатом 4 : 1.[66] Миловановићев ударац из једанаестерца у 9. колу против Чукаричког одбранио је чувар мреже домаћег састава Немања Стевановић.[67] У 19. колу, против Борца у Чачку, Миловановић није наступио услед суспензије због парних жутих картона.[68] Још једну асистенцију забележио је против ОФК Београда у 20. колу када је из аута упутио лопту коју је Ћулум спровео у мрежу.[69] У извештају Спорта Миловановић је оцењен као играч утакмице 25. кола када се Радник састао са Металцем.[70] Са 2634 минута на 30 одиграних утакмица, Миловановић је после Марка Путинчанина провео највише времена на терену.[71]
Током такмичарске 2016/17. Миловановић је играо на свим позицијама у одбрани. Услед изостанка Александра Гојковића из састава Радника, Миловановић је утакмицу 12. кола Суперлиге, против Новог Пазара, започео на месту штопера. На том сусрету је постигао и свој први погодак те сезоне.[72] Како нити један од двојице десних бекова у екипи, Синише Младеновића и Предрага Ђорђевића, није наступио против Партизана у 14. колу, Миловановић је одиграо на тој позицији. Том приликом је асистирао Игору Златановићу за једини погодак Радника на утакмици која је завршена резултатом 1 : 3.[73] У 21. колу, против Црвене звезде, Миловановић је наступио као капитен своје екипе и поново одиграо на месту штопера. У 25. минуту утакмице је скривио једанаестерац, након прекршаја над гостујућим играчем Срђаном Плавшићем, који је реализовао Душан Анђелковић.[74] Прекршај за пенал за начинио је и над Бојаном Остојићем, против Партизана у 29. колу, а успешан реализатор био је Урош Ђурђевић за коначних 2 : 1.[75] До краја сезоне, Миловановић је постигао голове на две узастопне утакмице, у 32. колу против Спартака и 33. против Рада.[76][77][6] После уводна три кола у сезони 2017/18. у којима је био стартер, Миловановић је против Црвене звезде заменио повређеног Александра Гојковића у 71. минуту.[78] На истој утакмици је и сам доживео повреду задње ложе због које је одсуствовао са терена у наредном периоду.[79] Једини погодак у сезони постигао је у 29. колу за минималну победу над ивањичкимЈавором.[80] Лета 2018. Миловановић је продужио уговор на период од годину дана.[81] Током сезоне 2018/19. постигао је 3 поготка. Био је стрелац против нишкогРадничког, док је мрежу погодио још и против крушевачкогНапретка.[82][83] У завршници сезоне, после које је клуб напустио као слободан играч након 5 сезона, Миловановићу је уручено признање за допринос клубу као и урамљен дрес са бројем 3.[84]
Дана 21. јуна 2019. године, Миловановић је потписао једногодишњи уговор са Напретком из Крушевца.[85] Иако је током каријере првенствено наступао на месту левог бека, а у централном делу одбране играо по потреби,[86] у свом новом клубу се у поставци тренера Предрага Рогана усталио на позицији штопера.[9] Миловановић је тако, по оцени присталица клуба, био међу најзаслужнијим играчима за победу Напретка над Чукаричким у 16. колу Суперлиге Србије.[87] Током првог дела сезоне најчешће је наступао у пару са Томиславом Пајовићем,[88] који му је претходно био саиграч и у сурдуличком Раднику и истог лета потписао за Напредак.[89] У одбрани је повремено наступао и Мирослав Бјелош,[90] а после Пајовићеве повреде прилику је добио Милан Обрадовић.[91] Миловановић је почетком децембра учестовао у победи свог тима на гостовању Партизану, на Стадиону у Хумској улици, након резултатског преокрета.[92] На отварању пролећног дела сезоне, утакмицу са Јавором је пропустио због парних жутих картона.[93] У саставу није био ни на гостовању Црвеној звезди на Стадиону Рајко Митић,[94] док је сусрет са Вождовцем на крову Тржног центра пропустио због повреде.[95]
Лета 2020. године, Миловановић је продужио уговор са Напретком, те је остао у саставу и за сезону 2020/21.[96] Међутим, пропустио је уводних 6 такмичарских кола у Суперлиги Србији, нашавши се у протоколу тек у 7. против екипе Златибора.[97] После одласка Драгана Ивановића са места шефа стручног штаба у екипи Напретка, крушевачки тим је на гостовању Црвеној звезди у 10. колу са клупе водио Иван Бабић. Миловановић је тада одиграо своју прву утакмицу у сезони, носивши капитенску траку. Домаћи тим је остварио победу резултатом 3 : 0, док је Миловановићу показан жути картон.[98][99][100] Неколико дана касније наступио је и у шеснаестини финала Купа Србије када је Напредак после резултатског преокрета елиминисао Жарково.[101][102][103] Миловановић се касније усталио у постави екипе коју је до краја календарске 2020. водио Горан Стевановић. Како је на четири узастопне утакмице које је одиграо у Суперлиги Србије добио по жути картон,[104][105][106] Миловановић је пропустио сусрет 14. кола са Пролетером у Новом Саду.[107] Миловановић је у наставку сезоне стандардно наступао за тим, те је на неким утакмица носио капитенску траку услед изостанака Мирољуба Костића.[6] Током друге половине априла 2021, Миловановић није био у саставу екипе, док је почетком наредног месеца тренер Милан Ђуричић рекао да је фудбалер ван такмичарског погона због позитивног налаза на вирус корона.[108] После опоравка је против екипе Младости у игру ушао са клупе.[109] После истека двогодишњег уговора, сарадња са клубом није обновљена,[110] па је Миловановић у јуну 2021. напустио Напредак као слободан играч.[111]
Миловановић је у јулу 2021. године приступио екипи Младост из Новог Сада која се претходно пласирала у Прву лигу Србије.[112] Представљен је као један од неколико нових играча тог клуба, а затим одрадио летње припреме код тренера Љубомира Ристовског.[113] Дебитовао је на отварању такмичарске 2021/22, када је сусрет са Графичаром у Београду завршен без погодака.[114] Миловановић је на тој утакмици екипу Младости предводио као капитен.[115] Током јесењег дела сезоне одиграо је све утакмице сем 15. кола, против шабачке Мачве, када је био суспендован због парних жутих картона.[116] Претходно је једном замењен током другог полувремена, када се Младост састала са екипом Кабела.[117] После одласка Марка Ренића током зимске паузе, Миловановић је у наставку сезоне и званично постао капитен.[118] Са екипом је регуларни део сезоне завршио на другом месту, иза Инђије.[119] Услед парних картона пропустио је прво коло доигравања, управо против те екипе.[120] Победом над Радничким у Сремској Митровици, Младост је коло пре краја сезоне потврдила прво место на табели и пласман у Суперлигу Србије.[121] Миловановић је током наредне сезоне забележио 10 наступа у највишем степену фудбалског такмичења у Србији, под вођством тренера Бранка Жигића, Александра Линте и Љубомира Ристовског.[122] На претпоследњем сусрету пред зимску паузу, искључен је услед два жута картона против екипе Вождовца.[123] У децембру 2022. Младост је споразумно раскинула уговоре са једанаесторицом играча, међу којима је био и Миловановић.[124]
Миловановић је у јануару 2023. приступио екипи РФК Новог Сада,[125] с којом је потом прошао припреме у Међугорју.[126] Дебитовао је у ремију без погодака с екипом ГФК Слободе, када је играо у пару са Огњеном Мажићем на штоперским позицијама.[127] У следећем колу, наступио је у минималном поразу своје екипе од Радничког на Новом Београду. Непрописно је зауставио лопту руком у свом шеснаестерцу и услед другог жутог картона искључен је у 81. минуту сусрета.[128] После издржане суспензије, у састав се вратио против Металца из Горњег Милановца.[129] Наступио је још против Радничког из Сремске Митровице,[130] као и на затварању сезоне када је противник био првопласирани ИМТ.[131]
Миловановић је 188 центиметара високи фудбалер који по потреби може да одигра на свим местима у одбрамбеном делу терена.[4] Постепено се развијао кроз нижелигашка такмичења, а у савезном рангу дебитовао је у дресу краљевачкеСлоге. Ту је одиграо читаву такмичарску 2011/12. у Првој лиги Србије као једини леви бек у екипи. Наредне сезоне је на појединим утакмицама дуплирао леви бок са Душаном Младеновићем или се мењао у ротацији са њим.[27][28][30] Заједно са окосницом тима Слоге наступао је читаве три сезоне, те је током првог дела такмичарске 2013/14. имао максималну минутажу, док је екипа зимску паузу дочекала на другом месту на табели.[135][136][137] Према извештајима са утакмица Миловановићева просечна оцена за период у Слоги била је приближно 6,70.[10] За Слогу је постигао је укупно три поготка, од чега два из скок игре након корнера, док је једном био стрелац из директног слободног ударца.[23][42][43] У победи над Бежанијом у 22. колу Прве лиге Србије шутирао је након прекршаја са десне стране терена и левом ногом савладао голмана гостујуће екипе, Марка Кнежевића.[44]
Након преласка у сурдуличкиРадник, Миловановић је током такмичарске 2014/15. био задужен за извођење прекида, укључујући слободне ударце и пенале.[138] На тај начин је постигао више погодака, док је укупно био стрелац 6 пута.[51][53][55] Као један од најстандарднијих играча и други стрелац екипе иза нападача Јована Јовановића, Миловановић је имао значајан допринос освајању првог места на табели Прве лиге Србије и пласману Радника у највиши степен српског фудбалског такмичења.[59][60][10] Након једанаестерца против Чукаричког у новембру 2015, који му је одбранио Немања Стевановић, Миловановић их надаље није изводио.[67] У наредним сезонама тренери су га повремено користили на позицији штопера, док је једном наступио и на месту десног бека.[а] Према оценама извештача са утакмица, Миловановић је у сезони 2016/17. пет пута означен као најбољи појединац на терену.[10]
После одласка Љуба Баранина из екипе Радника, Миловановић је надаље изводио далекометне ауте којима је гађао саиграче у шеснаестерцу противничке екипе.[148] Радник је на тај начин дошао до поготка против нишкогРадничког у сезони 2018/19. када је Миловановић упутио лопту директно до противничког гола.[б] Тако је након 5 година проведених у клубу из Сурдулице током којих је одиграо 132 званичне утакмице, постигао 12 погодака и повремено носио капитенску траку, окарактерисан као упорни борац на терену и дарован признањем за несебично залагање и допринос клубу.[84]
Са непуне 32 године старости, Миловановић је лета 2019. прешао у крушевачкиНапредак. Тадашњи тренер Предраг Роган га је од почетка такмичарске 2019/20. користио на месту у средишњем делу одбране.[9] Иако је Напредак до краја сезоне више пута мењао шефа стручног штаба, Миловановић се у наредном периоду усталио на тој позицији, док се у зависности од формације играло са два или три штопера.[6] Миловановић је током такмичарске 2021/22. као капитен предводио Младост из Новог Сада у Првој лиги и са екипом остварио пласман у Суперлигу Србије. Највећи део сезоне одиграо је у тандему са Жерсивалом Созом на позицијама штопера.[119] Младост је остала несавладана на 17 од укупно 26 утакмица колико је тај тандем одиграо заједно провео на терену. На неколико сусрета током регуларног дела сезоне прилику је добијао и Немања Илић који је након повреде Бразилца стандардно наступао у доигравању.[120]
^ абМиловановић је учествовао код јединог поготка Радника у поразу од нишког Радничког у 9. колу Суперлиге за такмичарску 2018/19, те је у неким изворима наведен као стрелац.[149] Међутим, лопта је након његовог извођења аута на путу ка мрежи имала контакт са голманом Боривојем Ристићем коме је званично приписан аутогол.[150][151][152]