Olić (a destra) al Marsonia nel 1997, in posa con l'interistaRonaldo in occasione di un'amichevole all'Arena Civica diMilano.
Olić muove i primi passi nel calcio professionistico con ilMarsonia nel 1996: in due anni totalizza 42 presenze e 17 reti. Impressionato dalle sue prestazioni, l'Hertha Berlino decide di provarlo: la stagione però non è positiva per lui e al termine dell'annata torna al Marsonia, con cui in 2 stagioni segna 21 gol. Nel 2001 viene tesserato dall'NK Zagabria: anche stavolta il suo bottino di reti è di 21, ma realizzato in 28 presenze nell'arco di una sola stagione. Il suo talento non sfugge agli occhi dell'altro club della capitale croata, laDinamo Zagabria, con la quale Ivica Olić gioca lastagione 2002-2003 concludendola con il titolo di capocannoniere e 16 reti in 27 presenze.
Tutto ciò viene valutato molto positivamente dalCSKA Mosca, che mette sotto contratto il giocatore. Gioca in Russia 5 stagioni, terminando la sua esperienza nella squadra moscovita con 78 presenze e 35 gol e con la vittoria dellaCoppa UEFA 2004-2005.
Nel gennaio 2007 si trasferisce nellaBundesliga tedesca, all'Amburgo. Gioca la sua prima partita con la nuova maglia il 31 gennaio contro l'Energie Cottbus. Con il suo contributo l'Amburgo sale fino al settimo posto, valido per la qualificazione allaIntertoto. Il 20 ottobre 2007 mette a referto la sua primatripletta in Bundesliga nel 4-1 che vede gli amburghesi trionfare ai danni delloStoccarda.[3]
Olić in azione al Wolfsburg nel 2014
Nell'estate 2009 si trasferisce alBayern Monaco.[4] L'8 agosto, all'esordio ufficiale con la maglia dei bavaresi, realizza una rete nella gara contro l'Hoffenheim valida come prima giornata dellaBundesliga 2009-2010 e terminata in pareggio (1-1).[5] Il 27 aprile segna la sua prima tripletta inChampions League nella semifinale di ritorno vinta contro ilLione per 3-0, punteggio che qualifica il Bayern alla finale del torneo,[6] poi persa contro l'Inter.
Nella stagione 2010-2011 indossa la casacca bavarese solo 10 volte, a causa di un infortunio che lo tiene lontano dal campo per circa 6 mesi[7]. Il 26 aprile 2012 il giocatore, in scadenza di contratto a fine stagione, annuncia di essersi accordato con ilWolfsburg[8]. Il 22 agosto 2014 realizza un gol contro ilBayern Monaco, sua ex squadra, con un gran sinistro da fuori area che si infila all'incrocio dei pali.
Il 30 gennaio 2015, è tornato, per un costo complessivo di 1,5 milioni di euro, all'Amburgo e ha firmato un contratto fino al 2016.[9] Un anno e mezzo più tardi, è passato alMonaco 1860 inZweite Bundesliga, disputando un'unica stagione per poi annunciare il ritiro e diventare vice-allenatore della nazionale croata.
Nel settembre 2006 ilCT croatoSlaven Bilić cacciò Olić e i suoi compagni di squadraBoško Balaban eDarijo Srna dal ritiro della selezione croata impegnata per il primo incontro di qualificazione a Euro 2008 contro laRussia, dopo che i tre erano rientrati a tarda notte da una discoteca diZagabria. I tre ricevettero una multa di 30 000kuna,[10] e qualche settimana dopo vennero riammessi al ritiro.[3] Viene poi convocato per l'europeo dove la Croazia raggiunge i quarti di finale contro la Turchia. Partecipa poi allequalificazioni alla coppa del mondo del 2010 dove segna tre reti e la Croazia arriva terza nelgruppo di qualificazione. Prende parte anche alle qualificazioni per l'europeo del 2012 dove va a segno 2 volte nonostante ciò non viene convocato per l'europeo.
Partecipa successivamente alle qualificazioni dell'mondiale del 2014 in Brasile dove segna soltanto un gol.Segna la sua ultima doppietta con la nazionale in un amichevole tra Croazia e Svizzera terminata 2-2 il 5 marzo 2014.Fu convocato dal CTNiko Kovač perBrasile 2014 dove segna la prima rete nella partita dei gironi contro il Camerun l'incontro terminerà 4-0 in favore dei croati.Segna la sua ultima rete con la maglia della Croazia il 28 marzo 2015 in una partita di qualificazione all'europeo del 2016.Il 2 marzo 2016, in una lettera, Olić annuncia il suo ritiro dalla nazionale.[11]
Alla fine di marzo 2021,Sport-Express eSportske novosti pubblicarono una notizia riguardante l'assunzione di Olić al suo ex clubCSKA Mosca in sostituzione diViktor Goncharenko.[13][14] I rumors furono poi confermati dal capo allenatore della Croazia, Dalić, aSportske novosti.[15] I suoi assistenti furono a lungo oggetto di voci, con l'ipotesi diMiloš Krasić edElvir Rahimić come suoi vice allenatori.[16] Tuttavia, la nomina di Olić fu ufficializzata il 23 marzo 2021.[17] La mossa fu accolta con scetticismo a causa dell'inesperienza di Olić come allenatore principale.[18][19][20] Nonostante i precedenti rumor, Krasić e Rahimić non furono assunti come assistenti, inveceIlija Aračić fu scelto come assistente allenatore,[21] mentreAleksei Berezutski eDmitry Kramarenko, già precedentemente assunti, completarono lo staff tecnico. Olić fece il suo esordio il 4 aprile, nella vittoria di campionato per 2-1 contro ilFC Tambov.[22] Dopo altre due vittorie, Olić subì la sua prima sconfitta alla quarta partita, perdendo 2-1 contro ilSochi il 18 aprile.[23] Il 25 aprile subì la sua terza sconfitta consecutiva perdendo 1-0 contro loFC Spartak Moscow nel suo primoDerby di Mosca, con l'espulsione diIlzat Akhmetov del CSKA al 37º minuto.[24][25] Dopo aver perso 3-2 contro ilDynamo Moscow il 16 maggio, Olić terminò la stagione al sesto posto, con il CSKA che mancò le competizioni europee per la prima volta in 20 anni.[26][27][28] Fu inaspettatamente sollevato dall'incarico il 15 giugno e sostituito da Berezutski, tornando a far parte della squadra di Zlatko Dalić per gliEuropei 2020.[29] Ha preso parte come vice del CTDalić anche almondiale 2022 inQatar, dove la Croazia ha raggiunto la semifinale persa 3-0 contro l'Argentina, e agliEuropei 2024 inGermania, con l'eliminazione della Croazia ai gironi.