Depois de mais uma temporada de sucesso no Marsonia, mudou-se para o NK Zagreb, onde marcou 21 gols em 28 partidas e ajudou sua equipe a ganhar o Campeonato Croata. Na temporada seguinte foi para o Dínamo Zagreb, onde marcou 16 gols em 27 jogos, e se tornou o melhor atacante da Liga Croata.
Em janeiro de 2007, mudou-se para o Hamburgo, estreou na Bundesliga contra o Energie Cottbus, em 31 de janeiro. Olić foi contratado porque o Hamburgo estava em apuros, terminando na zona de rebaixamento antes da pausa de Inverno. Sua contratação teve resultado positivo, pois o clube terminou em sétimo e até venceu a Copa Intertoto. Ele marcou dois gols no último jogo da temporada contra o Alemannia Aachen na vitória por 4–0. Em outubro de 2007, Olić anotou um hat-trick na partida contra o Stuttgart, a partida acabou 4 a 1 para sua equipe.
Bayern de Munique
Em 3 de janeiro de 2009, Olić assinou um contrato de três anos com o Bayern de Munique . Ele se juntou ao clube numa transferência livre em 1º de julho de 2009. Inicialmente, ele chegaria para ser reserva de Miroslav Klose e Mario Gómez, mas devido a lesões, começou a ser titular. No dia 8 de agosto, em sua estreia no Bayern, marcou o primeiro gol contra o Hoffenheim, em um empate por 1–1 e logo se tornou um dos jogadores favoritos da torcida do clube. Ganhou destaque novamente ao marcar um gol decisivo nos acréscimos da partida contra o Manchester United pela ida das quartas-de-finais da Liga dos Campeões 2009-10, a partir daí a torcida bávara lhe colocou o apelido de 'Guerreiro Croata', devido a sua entrega e raça dentro de campo. Olić porém errou um pênalti decisivo na final da Liga dos Campeões 2011-12 que acabaria dando o título ao Chelsea. Olić já havia confirmado sua ida ao Wolfsburg naquele momento.
Wolfsburg
Em 2012 sem ter chances no Bayern de Munique, acertou sua transferência para o Wolfsburg, onde jogou a partir da temporada 2012-13.
Hamburgo
Após boas temporadas pelo Wolfsburg, mas sem o mesmo brilho de antes, transferiu-se para o Hamburgo no dia 30 de Janeiro de 2015.
Munique 1860
Em 27 de Julho de 2016, após rescindir seu contrato com o Hamburgo, acertou sua transferência para o Munique 1860. Clube que disputa a Segunda divisão alemã.