È unaprima punta forte fisicamente capace di fare reparto da solo; nella fase di non possesso aiuta la squadra nei ripiegamenti difensivi.[1] Bravo nel gioco aereo, spesso cerca l'imprevedibilità con belle giocate, ad esempio con colpi di tacco.[2]
Famoso per il carattere fumantino, spesso ha avuto pesanti diverbi con i propri allenatori, come in occasione delMondiale di Russia 2018 dove è stato escluso dalla spedizione dopo una sola partita per il suo rifiuto di scendere in campo a gara in corso, oppure a Verona nel 2021, dove ha rescisso il contratto che lo legava all'Hellas una settimana dopo la chiusura del mercato invernale.
Kalinić viene messo sotto contratto dall'Hajduk Spalato giovanissimo e viene girato in prestito, nel 2006, alPola, in1. HNL, prima divisione croata. Esordisce dunque immediatamente in massima serie, pur essendo appena un adolescente: la sua prima stagione da professionista si conclude con un bottino accettabile per un giovane come lui: 20 presenze e 7 reti. Queste sue prestazioni convincono l'Hajduk Spalato a puntare su di lui per il proprio attacco: egli ripaga la fiducia con una strabiliante stagione da 21 presenze e 13 gol, bottino di reti secondo solo a quello di Zelmir Terkes, che ha concluso lastagione 2007-2008 con 21 reti[3] e che aiuta la squadra a raggiungere il 5º posto in campionato[4] e la finale dellaCoppa di Croazia.
Nella stagione successiva (2008-2009) Kalinić è il capocannoniere dell'Hajduk con 15 reti e contribuisce in modo essenziale all'ottimo 2º posto della squadra dietro ai rivali dellaDinamo Zagabria. In questa stagione sfiora il titolo di capocannoniere del torneo battuto solo dal connazionale della squadra vincitrice del torneoMario Mandžukić (16 reti).
In questa stagione realizza il suo primo goleuropeo andando a segno nel 4-0 dell'Hajduk contro ilBirkirkara. Il suo primo gol stagionale è segnato il 3 agosto 2008 contro ilVaraždin (1-1), al quale seguono la tripletta realizzata nel 3-1 contro loSlaven Belupo (due delle tre reti sono segnate surigore e le doppiette nelle sfide sull'Inter Zaprešić (3-3) eCibalia (2-0, entrambi firmati dagli undici metri).
Il 3 agosto 2009 viene acquistato dalBlackburn per 7,5 milioni di euro, firmando un contratto quadriennale.[5][6] La sua prima partita con iRovers è datata 22 agosto 2009, quando subentra al 14' del primo tempo al posto dell'argentinoFranco Di Santo, rimasto infortunato, contro ilSunderland, partita persa 2-1. Il 27 ottobre seguente sigla la sua prima rete con il Blackburn e la sua unica nellaFootball League Cup, andando in gol su rigore al 74' nella sfida contro ilPeterborough per il definitivo 5-2. Il 2 gennaio 2010 realizza il suo primo gol nellaFA Cup contro l'Aston Villa, incontro perso 3-1. Il 20 gennaio seguente, dopo aver eliminato ilChelsea in Coppa di Lega (3-3, 4-3 airigori) anche grazie a un gol dell'attaccante croato, iRovers affrontano l'Aston Villa in semifinale: dopo 26' Kalinić mette a segno una doppietta che ribalterebbe il successo ottenuto dell'Aston Villa per 1-0 all'andata, ma iVillans ottengono un'altra vittoria con un rocambolesco 6-4 finale. Sette giorni più tardi, Kalinić trova la via del gol anche inPremier League, segnando il 2-1 che consente al Blackburn di conquistare tre punti preziosi contro ilWigan. Termina la sua prima stagione con 7 gol in 38 presenze tra campionato e coppe.
Non si migliora nella stagione seguente, pur segnando gol importanti controEverton (1-0) eWest Bromwich Albion (1-3, doppietta), che consentono al Blackburn di ottenere 6 punti preziosi in chiave salvezza. Il 29 gennaio 2011, il croato segna un altro gol ai danni dell'Aston Villa, dopo esser entrato al 10' al posto dell'infortunatoRoque Santa Cruz in una partita di FA Cup che finisce sul 3-1 per gli avversari. A neanche un mese di distanza, il 26 febbraio successivo va in gol nuovamente contro l'Aston Villa (4-1): è il suo quinto gol ai danni del club di Birmingham nel giro di un anno, in totale durante tutta la sua esperienza inglese ne farà 13 in 53 partite, più di un terzo realizzati aiVillans.
Il 12 agosto 2011 passa agli ucraini delDnipro a costo zero.[7] Il giorno dopo fa subito il suo esordio nel campionato ucraino, subentrando al 59' aDerek Boateng, segnando il gol della bandiera del Dnipro nell'1-3 contro loShakhtar Donetsk all'81' e facendosi anche espellere due minuti più tardi. Guadagna presto il posto da titolare nell'attacco del Dnipro, segnando un paio di doppiette ai danni diOleksandrija (5-1) eVolyn Lutsk (1-2).
Alla sua seconda stagione realizza 4 gol, il primo datato 26 agosto 2012 contro ilVolyn Lutsk (2-1). Decide la sfida diCoppa d'Ucraina contro il Žemčužina Jalta (0-1) del 23 settembre 2012. Nel mese successivo segna il suo primo gol europeo con il Dnipro nell'incontro d'Europa League vinto 4-2 contro loSlovan Liberec, dopo esser subentrato al 56' aMatheus.
Nell'annata 2013-2014 firma 7 gol in 23 presenze. Il primo gol stagionale arriva l'11 agosto 2013 in un incontro di campionato, nell'1-0 contro l'Uzhhorod. Il 22 settembre firma la sua unica doppietta, realizzando due delle tre reti con le quali il Dnipro ottiene il successo a Zaporizhya sulMetalurh (2-3). Il 28 novembre invece mette a segno un gol, il suo unico europeo in questa stagione, nel successo ottenuto per 4-1 sulPandurii.
Il 30 luglio 2014 esordisce nellaUEFA Champions League, giocando da titolare la sfida pareggiata 0-0 contro ilCopenaghen. In campionato si sblocca controKarpaty (4-0), segnando reti decisive controOlimpik Donetsk (5-0, doppietta), in due partite contro ilChornomorets nelle quali sigla due doppiette (2-1 e 0-3 rispettivamente) e nuovamente contro il Karpaty (0-1). Segna anche inCoppa d'Ucraina contro il Volyn Lutsk (4-0), realizza l'ultima rete dopo esser subentrato al 78' al posto diSeleznyov. La stagione 2014-2015, durante la quale firma 19 reti in 48 partite, lo vede protagonista anche in Europa League: segna il suo primo gol il 20 agosto 2014, proprio contro la sua ex squadra, l'Hajduk Spalato, sconfitto 2-1 e in seguito mette a segno due reti contro ilQarabag (1-2). Infine, il 27 maggio 2015, partito titolare nella finale diEuropa League disputata aVarsavia, segna la rete del vantaggio che illude ilDnipro nella sconfitta per 3-2 contro ilSiviglia.
Il 26 luglio 2015 inizia la nuova stagione con la maglia del Dnipro, segnando due reti al Chornomorets (4-2). Chiude la sua esperienza ucraina con 49 marcature in 125 incontri.
Il 14 agosto 2015 viene acquistato a titolo definitivo dallaFiorentina[8] per 5 milioni di euro, firmando un contratto quadriennale.[9] Esordisce in maglia viola il 23 agosto nella partita dicampionato Fiorentina-Milan (2-0).[10] Segna il suo primo gol il 17 settembre nella partita diEuropa League Fiorentina-Basilea (1-2).[11] Si ripete il 23 settembre nella partita di campionato contro ilBologna.[12] Il 27 settembre segna una tripletta (la terza in carriera) a San Siro inInter-Fiorentina 1-4, portando la Fiorentina al primo posto a pari punti con la stessa Inter e diventando il terzo calciatore viola a segnare una tripletta all'Inter dopoVinicio Viani[13] eGabriel Batistuta.[14][15] È protagonista anche di una doppietta, decisiva per il risultato, nella rimonta dei viola nelderby contro l'Empoli.[16] In Fiorentina-Udinese del 6 dicembre 2015 segna quella che avrebbe dovuto essere la sua decima rete stagionale inSerie A, creando un "caso mediatico",[17] in cui alla fine laLega Calcio non gli riconosce la paternità del gol a causa dell'involontarietà della deviazione sul tiro del compagnoMilan Badelj.[18]
Segna la prima rete della stagione2016-2017 della Fiorentina nella partita della prima giornata dicampionato persa 2-1 contro laJuventus a Torino. Chiude la sua seconda stagione alla Fiorentina con 20 gol totali, di cui 15 in campionato e 5 inEuropa League.
Il 22 agosto 2017 passa in prestito con obbligo di riscatto alMilan, legandosi al club rossonero fino al 2021; sceglie di indossare la maglia numero 7.[19] Esordisce con il nuovo club il 27 agosto successivo, nel match di campionato contro ilCagliari.[20] Il 14 settembre, il croato disputa la sua prima gara di Europa League con il Milan, contro l'Austria Vienna.[21] Il 17 settembre 2017, Kalinić trova le sue prime reti (una doppietta) in maglia rossonera, decidendo la gara di Serie A contro l'Udinese.[22] Il 27 dicembre disputa la sua prima gara di Coppa Italia con il Milan, contro l'Inter.[23] A fine stagione colleziona 41 presenze totali e 6 reti (tutte in Serie A), deludendo complessivamente le aspettative.[24]
Il 9 agosto 2018 viene ceduto a titolo definitivo agli spagnoli dell'Atlético Madrid,[25] con i quali vince il primo trofeo della carriera dopo appena sei giorni dal suo arrivo, il 15 agosto, nella sfida per laSupercoppa UEFA contro ilReal Madrid, pur restando in panchina. Realizza il primo gol con la maglia deiColchoneros il 5 dicembre 2018 nel match valido per i sedicesimi di finale diCoppa del Re, contro ilSant Andreu (4-0).[26] In campionato trova il primo gol l’8 dicembre 2018 aprendo le marcature nella partita vinta 3-0 contro l'Alavés.
Il 2 settembre 2019 è ufficializzata la cessione di Kalinić allaRoma in prestito oneroso (2 milioni di euro) con opzione di acquisto (9 milioni).[27] Esordisce in maglia giallorossa il 19 settembre successivo, nel match diEuropa League vinto per 4-0 in casa contro ilİstanbul Başakşehir.[28] Fa la sua prima apparizione in campionato il 25 settembre, in Roma-Atalanta (0-2),[29] mentre i suoi primi due gol risalgono al 1º marzo 2020, in casa delCagliari, sconfitto per 4-3.[30] Chiude il campionato con i giallorossi a quota 5 reti.[31]
Il 5 ottobre 2020 ilVerona acquista a titolo definitivo dall'Atlético Madrid l'attaccante croato, che firma un contratto biennale con opzione per il terzo anno.[32][33] Debutta con gli scaligeri 13 giorni dopo nel pareggio per 0-0 contro ilGenoa, rilevandoAndrea Favilli al 60'.[34] Il 10 gennaio 2021 segna il primo gol con gli scaligeri, aprendo le marcature nel successo per 2-1 sulCrotone.[35] In quasi un anno e mezzo sono 6 i gol segnati in 34 apparizioni con il club veneto.
Il 6 febbraio 2022, dopo aver rescisso con il club veronese,[36] fa il suo ritorno all'Hajduk Spalato dopo più di dodici anni prendendo la casacca numero 9.[37] Il 13 febbraio in corrispondenza del 111 anniversario della fondazione del club ritorna in campo con la divisa deiBili, trova subito l'assist per la rete dell'1-0 nel match dicampionato vinto contro ilSlaven Belupo (3-1).[38] Torna al gol il 6 marzo seguente nella trasferta di campionato terminata 1-1 contro l'Istria 1961.[39] Termina la stagione con iMajstori s mora con la vittoria dellaCoppa di Croazia, suo primo titolo con la squadra spalatina.[40] Il 30 giugno 2023 allo scadere del contratto giunge al termine la sua avventura nell'Hajduk.[41]
Il 3 gennaio 2024, torna per la terza volta, firmando un contratto simbolico di 1 euro valevole fino al termine della stagione.[42][43][44] Al termine della stessa si ritira dal calcio giocato per poi venir promosso a nuovo direttore sportivo dell'Hajduk.[45]
È stato un giocatore chiave per la Croazia ai livelli giovanili, Under-17, Under-19 eUnder-21. La sua prima apparizione in una competizione internazionale è arrivata durante l'Europeo Under-17 del 2005, concluso in testa alla classifica marcatori con 11 reti. Con l'Under-19, segna 5 gol nella fase di qualificazione all'Europeo di categoria. Segna anche unatripletta contro i pari-etàmoldavi, che permette alla nazionale croata di passare al turno successivo.[46] In più, con l'Under-21, ha segnato 2 gol in 2 presenze.
Le sue abilità gli permettono di avere un posto nellaCroazia che partecipò alcampionato d'Europa 2008[47]. Debutta con la nazionale croata il 24 maggio 2008, subentrando al 62' della partita terminata 1-0 contro laMoldavia[48]. Ha debuttato a Euro 2008, con la sua maglia numero 9, durante la partita contro laPolonia, sostituendo l'autore del gol della vittoria per 1-0,Ivan Klasnić. Continua a giocare con la maglia della Nazionale con regolarità tra il 2011 e il 2013, scendendo in campo in alcune gare di qualificazione sia per ilcampionato d'Europa 2012 che per ilcampionato del mondo 2014. Convocato per la fase dell'Europeo, non giocherà nessun minuto, mentre resta fuori dalla rosa della competizione mondiale.
Torna tra i convocati in nazionale nell'estate 2015 in virtù dei buoni risultati ottenuti prima con la maglia delDnipro[49], finalista diEuropa League, e poi con quella dellaFiorentina. È decisivo un suo gol nella gara di qualificazione per ilcampionato d'Europa 2016 contro la Bulgaria[50]. Il 4 giugno 2016 sigla una tripletta nella vittoria per 10-0 controSan Marino. Convocato per l'Europeo inFrancia, mette a segno un gol di tacco contro laSpagna nella partita vinta per 2-1 che permette alla nazionale croata di qualificarsi come prima classificata nel girone.[51]
Convocato anche per ilcampionato del mondo 2018 inRussia, il 18 giugno viene escluso dalla rosa della nazionale per decisione delcommissario tecnicoZlatko Dalić, dopo il suo rifiuto a subentrare a gara in corso durante la prima partita della fase a gruppi, vinta dalla Croazia per 2-0 contro laNigeria.[52] La nazionale croata ha poi raggiunto la finale del torneo, dove è stata sconfitta dallaFrancia per 4-2: Kalinić è pertanto considerato ufficialmente vicecampione del mondo, anche senza aver giocato nessuna partita della competizione, ma ha rifiutato la medaglia d'argento che gli sarebbe spettata.[53]
Il 27 maggio 2024, contestualmente al suo ritiro, diviene il nuovo direttore sportivo dell'Hajduk Spalato succedendo aMindaugas Nikoličius.[45] Viene sollevato dall'incarico il 10 settembre successivo, tre mesi e mezzo dopo il suo insediamento.[54]