Nato ad Amburgo da genitori croati di origine bosniaca, ha iniziato la carriera in una squadra locale, il St. Pauli, dove in tre stagioni e mezzo si è messo in luce come uno dei migliori attaccanti della Zweite Bundesliga, prima di divenire un professionista nel gennaio 1998: prima del suo debutto con il St. Pauli infatti ha giocato per squadre dilettantistiche meno conosciute come lo Union 03 Amburgo e il TSV Stellingen.
Dopo aver aiutato il St. Pauli a guadagnare la promozione in prima divisione con 10 gol segnati per il club in seconda divisione durante la stagione 2000-2001, è passato al Werder Brema nell'estate del 2001 ed è approdato in prima squadra nel 2003 con alcune performance notevoli in Bundesliga. Le sue due prime stagioni nel club sono state segnate da uno stato di forma mutevole (ha segnato solamente tre reti in 36 presenze nella Bundesliga) e da due seri infortuni al ginocchio, ma ha lasciato tutto ciò alle spalle quando è divenuto un giocatore chiave nella marcia del Werder Brema al titolo di campione di Bundesliga nella stagione 2003-2004, quando ha vinto anche la Coppa di Germania con il club. Ha segnato 13 reti e ha fatto assist 11 volte per il suo partner d'attacco brasiliano Ailton. Il suo contratto in scadenza ha causato una gara per la sua firma con altre squadre all'inizio dell'anno precedente del suo eventuale rinnovo con il Brema.
Partecipando alla UEFA Champions League del 2004-2005, Klasnić ha segnato 5 reti nei due match contro la squadra belga dell'Anderlecht, compresa una tripletta nella vittoria casalinga del Werder Brema per 5-1, aiutando la squadra alla prima fase ad eliminazione diretta della competizione, prima di perdere con il più forte Olympique Lione, che li ha surclassati con un 10-2 complessivo di andata e ritorno.
La stagione 2006-2007 non è iniziata bene. Klasnić ha realizzato il suo primo gol alla settima giornata, quando ha realizzato la rete del pareggio contro l'Energie Cottbus. Ha anche perso il suo posto da titolare nella nazionale croata a causa delle opache prestazioni. Non è stato impiegato nelle partite di qualificazione a Euro 2008 contro Inghilterra e Israele. Nel novembre 2006 gli è stata diagnosticata una disfunzione renale, che nel gennaio 2007 lo ha costretto ad un trapianto[2]. Fino a quel momento il giocatore aveva totalizzato 12 presenze e un gol[2]. A causa di un rigetto avvenuto una settimana dopo l'operazione[1], nel marzo 2007 è stato operato nuovamente, questa volta ricevendo il rene dal padre[3].
È tornato in campo in gare ufficiali nel novembre 2007, quando ha fatto il proprio esordio nella stagione 2007-2008 giocando la sua prima partita da titolare contro il Bayer Leverkusen, contro cui ha segnato una doppietta a nove mesi dal secondo trapianto al rene[4]. Il 1º dicembre 2007 è stato accolto calorosamente dal Weserstadion nella partita contro l'Amburgo[5]. Il giocatore ha poi denunciato due medici della squadra per aver sottovalutato la gravità dei suoi disturbi renali[6], rendendo noto che a fine stagione, scaduto il suo contratto con il Werder Brema, avrebbe lasciato il club.
L'8 luglio 2008 è stato ingaggiato dal Nantes, con cui ha sottoscritto un contratto quadriennale. Alla diciassettesima giornata di Ligue 1 Klasnić ha realizzato una doppietta contro il Olympique Lione nella partita vinta dal Nantes per 2-1. In totale ha segnato 6 gol in 28 partite, ma le sue marcature non sono bastate ad evitare la retrocessione del Nantes in Ligue 2.
Dopo aver segnato 4 gol nelle prime 5 partite della Ligue 2, il 1º settembre 2009, nell'ultimo giorno di calciomercato, si è trasferito in prestito al Bolton, in Premier League, con cui ha collezionato in campionato 27 presenze condite da 8 reti.
Il 30 luglio 2010 ha rescisso il proprio contratto con la società francese che scadeva nel giugno 2011. Il 4 agosto 2010 il Bolton ufficializza il ritorno di Klasnic, stavolta a titolo definitivo, con contratto biennale.
Nell'estate del 2012 firma un contratto annuale con i tedeschi del Mainz.[7] A fine stagione rimane svincolato.
Nazionale
Klasnić ha rifiutato un invito da parte di Rudi Völler a giocare per la Germania. Ha inoltre rifiutato l'invito di Blaž Slišković a giocare per la Bosnia ed Erzegovina e ha scelto invece di giocare per la Croazia da cui era già stato convocato 3 volte e dove aveva segnato 1 gol nella squadra Under 21 nella primavera del 2001. Inoltre nel 1998 e nel 1999 ha giocato 5 volte e segnato 1 gol per la squadra croata under 19. Uno scherzo del destino ha voluto che il suo debutto internazionale avvenisse contro la Germania nel febbraio del 2003 in un'amichevole vinta poi dalla Germania per 2-1.
Convocato dalla Croazia per giocare il Campionato europeo 2004, non è stato mai titolare per tutta la durata del torneo. La Croazia non ha passato la fase del girone eliminatorio e i media hanno spesso imputato ciò, tra altri fattori, alla mancata inclusione di Klasnić nella formazione iniziale.
Nella nazionale croata, ad ogni modo, le sue prestazioni sono state piuttosto modeste durante il corso degli stessi due anni: difatti ha realizzato una sola rete in otto match di qualificazione per i Mondiali di calcio Germania 2006, andando a segno solo nella partita valida per le qualificazioni contro l'Ungheria nel settembre 2004, partita vinta in scioltezza per 3 a 0. Nel febbraio del 2005, ha dato una buona prestazione per la sua nazionale nella partita amichevole contro Israele, segnando 2 goal nel pareggio 3-3 finale. Il 1º marzo 2006 segnò un altro goal per la nazionale croata nella partita amichevole contro l'Argentina vinta 3-2.
Nel maggio 2006 è stato chiamato a far parte del gruppo dei 23 giocatori croati che dovranno disputare la fase finale della Coppa del Mondo FIFA 2006 in Germania anche grazie alle sue ottime prestazioni in Bundesliga, dove in 3 partite realizza 4 gol, terminando la stagione in Bundesliga con 15 gol, e segnò anche nella partita amichevole contro l'Austria vinta facilmente 4-1. Il suo rendimento nel campionato mondiale scese drasticamente e la sua nazionale uscì subito dal torneo, totalizzando 2 pareggi ed una sconfitta.
È stato convocato per Euro 2008, dove ha giocato 2 partite segnato altrettante reti: il primo gol è quello dell'1-0 alla Polonia,[8] mentre il secondo lo ha segnato nei quarti di finale l'1-0 alla Turchia ad un minuto dalla fine dei tempi supplementari; i turchi poi hanno pareggiato nei minuti di recupero e hanno vinto ai rigori.[9]
^abKlasnic, serve un nuovo trapianto, gazzetta.it, 29 gennaio 2007. URL consultato il 20 settembre 2009 (archiviato dall'url originale il 21 gennaio 2012).
^(EN) Klasnic humbled by greatest triumph, uefa.com, 8 febbraio 2008. URL consultato il 20 settembre 2009 (archiviato dall'url originale l'8 settembre 2009).