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. 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). 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.
Po zwycięskich wyborach został desygnowany na urząd premiera, 23 grudnia 2011 formalnie rozpoczął urzędowanie po zatwierdzeniu przez parlament.
Jego gabinet funkcjonował przez całą kadencję. W wyborach w 2015 Zoran Milanović uzyskał poselską reelekcję. 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, kierowana przez niego koalicja przegrała z centroprawicową HDZ.