Rođen je 30. listopada 1966. u Zagrebu, gdje je proveo djetinjstvo i školovao se. Diplomirao je na zagrebačkom Pravnom fakultetu i bio dobitnik Rektorove nagrade.
Nakon studija zaposlio se kao pripravnik na Trgovačkom sudu u Zagrebu, a 1993. odlazi u Ministarstvo vanjskih poslova.
Kao pripadnik OESS-a 1994. odlazi u mirovnu misiju u tada ratom zahvaćeni Nagorno Karabah (Azerbejdžan), a 1996. imenovan je savjetnikom u hrvatskoj misiji u EU-u i NATO-u u Bruxellesu, gdje je 1998. završio poslijediplomski studij europskog i komparativnog prava te stekao titulu magistra.
Milanović 2004. stavlja na raspolaganje svoj mandat pomoćnika ministra vanjskih poslova i na poziv tadašnjeg predsjednika SDP-a Ivice Račana postaje član Izvršnog odbora SDP-a i međunarodni tajnik te stranke.
Nakon smrti Ivice Račana u travnju 2007. Milanović je na unutarstranačkim izborima izabran za predsjednika SDP-a u lipnju 2007., pobijedivši Željku Antunović, Milana Bandića i Tonina Piculu.
Na parlamentarnim izborima u studenom 2007. HDZ ponovno osvaja vlast a Milanović postaje vođa oporbe kao predsjednik SDP-a i kluba te stranke u Hrvatskom saboru.
U izbornoj 2011. SDP potpisuje koalicijski sporazum s HNS-om, IDS-om i HSU-om te kao Kukuriku koalicija 4. prosinca izlaze na izbore i osvajaju 80 mandata, odnosno natpolovičnu većinu u Saboru.
Nakon mandata na čelu Vlade i gubitka parlamentarnih izbora krajem 2015., Milanović podnosi ostavku na mjesto predsjednika SDP-a i osniva privatnu tvrtku koja se bavi konzultantskim uslugama.
Kandidaturu za predsjednika Republike objavio je u lipnju 2019. godine.
Zoran Milanović oženjen je Sanjom Musić-Milanović, doktoricom znanosti iz područja epidemiologije, a imaju sinove Antu Jakova i Marka.