Po powrocie został doradcą chorwackiej misji przy UE i NATO w Brukseli. W czasie trzech lat rezydowania w Belgii ukończył studia podyplomowe na Université Libre de Bruxelles[2]. W 1999, po powrocie do Chorwacji, wstąpił do Socjaldemokratycznej Partii Chorwacji. W latach 2000–2003 był państwowym koordynatorem ds. NATO jako urzędnik rządowy w okresie premiera Ivicy Račana. Zajmował się sprawami akcesji i udziału w programie Partnerstwo dla Pokoju.
W 2004 wszedł w skład komitetu centralnego i do 2006 był rzecznikiem prasowym SDP. Po śmierci Ivicy Račana, na konwencji partii 2 czerwca 2007, został wybrany na nowego przewodniczącego Socjaldemokratycznej Partii Chorwacji[2]. W drugiej turze pokonał swoją główną konkurentkę, pełniącą obowiązki przewodniczącej partii, Željkę Antunović. W wyborach parlamentarnych w tym samym roku Zoran Milanović uzyskał po raz pierwszy mandat posła do Zgromadzenia Chorwackiego (VI kadencji)[1]. Kierowana przez niego SDP uzyskała wówczas najwięcej mandatów od czasu swojego powstania, jednak pozostała ugrupowaniem opozycyjnym. W wyborach w 2011 ponownie został wybrany do krajowego parlamentu z ramienia zwycięskiej Koalicji Kukuriku[1][3].
Po zwycięskich wyborach został desygnowany na urząd premiera, 23 grudnia 2011 formalnie rozpoczął urzędowanie po zatwierdzeniu przez parlament[4].
Jego gabinet funkcjonował przez całą kadencję. W wyborach w 2015 Zoran Milanović uzyskał poselską reelekcję[5]. Nie zdołał jednak stworzyć nowej koalicji rządowej, 22 stycznia 2016 na stanowisku premiera zastąpił go Tihomir Orešković. W wyborach w 2016 ponownie został wybrany do parlamentu[1], kierowana przez niego koalicja przegrała z centroprawicową HDZ[6]. Po przegranych wyborach zapowiedział rezygnację ze stanowiska lidera SDP i przeprowadzenie na listopad 2016 bezpośrednich wyborów nowego przewodniczącego SDP w dwóch turach, gdyby w pierwszej żaden kandydat nie uzyskałby więcej niż połowę głosów. Partią formalnie kierował do 26 listopada 2016, kiedy to w drugiej turze bezpośrednich wyborów nowym liderem socjaldemokratów został Davor Bernardić[7]. W marcu 2017 złożył mandat poselski[1], podejmując działalność w biznesie. W tym samym roku założył firmę konsultingową świadczącą usługi związane z procesem akcesji do Unii Europejskiej, doradzał m.in. premierowi AlbaniiEdiemu Ramie[8].
W 2019 wystartował w wyborach prezydenckich jako kandydat socjaldemokratów, otrzymując też poparcie innych ugrupowań centrowych i centrolewicowych. W pierwszej turze głosowania z 23 grudnia 2019 zajął pierwsze miejsce, otrzymując 29,6% głosów. Przeszedł do drugiej tury z ubiegającą się o reelekcję Kolindą Grabar-Kitarović, która dostała 26,7% głosów[9]. W drugiej turze wyborów, która miała miejsce 5 stycznia 2020, pokonał swoją kontrkandydatkę, zdobywając 52,7% głosów. Został tym samym wybrany na piątego prezydenta niepodległej Chorwacji[10]. Urząd prezydenta objął 18 lutego 2020[11].
W trakcie rozpoczętej w 2022 inwazji Rosji na Ukrainę wygłaszał poglądy określane jako prorosyjskie. W 2022 wyraził przekonanie, że Krym nigdy już nie będzie częścią Ukrainy[12]. Sprzeciwiał się również dozbrajaniu ukraińskiej armii przez państwa NATO[13]. W połowie marca 2024 ogłosił się kandydatem skupionej wokół socjaldemokratów koalicji na urząd premiera w wyborach parlamentarnych rozpisanych na kwiecień tegoż roku[14]. Kilka dni później Sąd Konstytucyjny orzekł, że Zoran Milanović nie może kandydować do parlamentu ani czynnie uczestniczyć w partyjnej kampanii, chyba że zrezygnuje z urzędu prezydenta[15]. W reakcji na to orzeczenie prezydent publicznie porównał członków tego sądu do „gangsterów”[16][17] i „bandytów”[16].
↑ abPrezydent pełni równocześnie funkcję szefa rządu.
↑Republika Kosowa jest uznawana przez 97 ze 193 państw członkowskich ONZ, 22 z 27 państw członkowskich UE oraz 26 z 30 państw członkowskich NATO (stan na 4 września 2020).
↑Kolegialny organ pełniący funkcję głowy państwa i szefa rządu.