Olić spilte for den lokale klubben Marsonia fra 1996, og hadde to gode sesonger der før han ble kjøpt av den tyske klubben Hertha Berlin i 1998. I Berlin fikk han lite spilletid, og dro tilbake til Marsonia året etter.
Etter nok en god sesong for Marsonia (sesongen 2000/01 scoret han 17 mål på 29 kamper), gikk han til NK Zagreb i 2001, hvor han scoret 21 mål på 28 kamper og bidro til at laget vant ligaen. Sesongen deretter gikk han til Dinamo Zagreb, der han scoret 16 mål på 27 kamper, og ble toppscorer i den kroatiske ligaen.
CSKA Moskva
I 2003 gikk Olić til CSKA Moskva. Her oppnådde han gradvis bedre resultater, og i 2005 scoret han 10 mål på 20 kamper.
Hamburger SV
I januar 2007 gikk Olić til Hamburger SV, og spilte sin første kamp i Bundesliga mot Energie Cottbus den 31. januar.
Landslagskarriere
VM 2002
Olić var med i Kroatias tropp under VM 2002, der han spilte to kamper og scoret et viktig mål (det ene i 2-1-seieren mot Italia).
EM 2004 & VM 2006
Olić spilte også tre kamper for Kroatia i EM 2004 og to kamper i VM 2006.
EM 2008
Olić var med i Kroatias tropp under EM 2008. 12. juni scoret han i en kamp mot Tyskland i gruppespillet, en kamp som Kroatia vant 2-1. Kroatia vant alle sine tre kamper i gruppespillet, men ble slått ut på straffesparkkonkurranse av Tyrkia i kvartfinalen.
VM 2014
Olić var, 34 år gammel, igjen med i Kroatias tropp under VM 2014 i Brasil.