Caratteristiche tecniche Di piede mancino, ha iniziato la propria carriera come ala sinistra per poi venire spostato nel ruolo di esterno di centrocampo a tutta fascia durante la sua militanza all'. Dotato di corsa, fiato e fisicità, capace di segnare anche su calcio di punizione, è più incisivo nella fase offensiva che in quella difensiva riuscendo comunque ad essere un giocatore duttile, abile soprattutto nel fornire assist ai propri compagni di squadra. Può giocare anche come ala destra.

Carriera Club Gli inizi, l'arrivo in Germania

Ha giocato nella massima serie serba con il , per poi trasferirsi nella massima serie olandese al nel 2012.

Il 9 agosto 2014 viene ufficializzato il suo passaggio allo , con cui firma un contratto quinquennale. Con la retrocessione dello Stoccarda nella stagione 2015-2016 si aprono per lui le porte del mercato.

Nello stesso mercato viene quindi ceduto all', che alla sua seconda stagione in squadra retrocede in seconda divisione.

Eintracht Francoforte Dopo aver espresso la propria volontà di lasciare il club, il 20 agosto 2018 si trasferisce in prestito biennale all'. Dopo una buona stagione con il club (che ha aiutato a raggiungere le semifinali di UEFA Europa League con 4 gol) viene riscattato il 17 maggio 2019 per 6 milioni di euro. Nell'annata 2019-2020 colleziona 51 presenze e 12 gol di cui 5 messi a segno in Europa League, migliorando il bottino sottorete della precedente edizione. La stagione seguente gioca solo in Bundesliga mettendo insieme 30 presenze, 4 gol e 17 assist.Vince l'Europa League, segna una rete battendo il Betis per 2-1, con una doppietta e un assist vincente permette alla squadra di battere per 3-2 il Barcellona, mentre nella finale contro i Rangers inizialmente in svantaggio Kostić con il suo passaggio permette al proprio compagno di squadra Rafael Borré di segnare la rete del 1-1, infine ai calci di rigore Kostić è il quarto giocatore della squadra a fare gol dal dischetto, l'Eintracht Francoforte si impone per 5-4.

Juventus e prestito al Fenerbahçe Il 12 agosto 2022, viene ingaggiato dalla a titolo definitivo, sottoscrivendo un contratto quadriennale. Debutta tre giorni dopo alla prima di campionato, subentrando a Juan Cuadrado nel corso della vittoria interna contro il (3-0); una settimana più tardi, contro la , esordisce da titolare. Il successivo 6 settembre fa il suo debutto in UEFA Champions League, in occasione della sconfitta 2-1 sul campo del . Segna il suo primo gol in bianconero contro il il 2 ottobre, aprendo le marcature nella sfida di campionato vinta per 3-0. Dopo un avvio in sordina, nel prosieguo della stagione s'impone come un punto fermo nellundici titolare dei torinesi, assurgendo inoltre a prolifico uomo-assist. Il 19 marzo 2023, sigla il gol decisivo della vittoria per 1-0 nel derby d'Italia contro l' a San Siro. Lungo la sua prima stagione in maglia bianconera, colleziona 54 presenze, tre reti e 11 assist fra tutte le competizioni.

Nell'annata successiva, invece, totalizza 33 presenze e quattro assist fra campionato e Champions League.

Finito ai margini della rosa all'inizio della stagione 2024-2025, con l'arrivo del nuovo allenatore Thiago Motta, il 9 settembre 2024 viene ceduto in prestito annuale al , in Turchia. Il 29 settembre debutta in Süper Lig - e con i giallorossi - nella vittoria esterna per 1-2 contro l'. Nell'occasione dopo essere entrato nel corso del secondo tempo posto di Alexander Djiku, risulta decisivo propiziando l'autorete che permette ai suoi di prevalere sugli avversari.

Rientrato alla Juventus a fine campionato, viene già utilizzato dal tecnico Igor Tudor per il Mondiale per Club, poi viene confermato nella rosa anche per la stagione 2025-2026. Il 1º novembre 2025, nel giorno dell'esordio di Luciano Spalletti sulla panchina bianconera ritrova il gol, primo della nuova gestione tecnica, aprendo le marcature nel successo per 2-1 in casa della Cremonese. Si ripete ventuno giorni dopo nella sfida pareggiata per 1-1 in casa della . Dopo un buon inizio con il tecnico toscano, nel girone di ritorno Kostić trova meno spazio, ma nonostante ciò segna un gol nel successo per 3-0 contro il . Al termine della stagione lascia il club bianconero, non rinnovando il proprio contratto e chiudendo l'esperienza torinese dopo quattro anni, durante i quali ha raccolto complessivamente 112 presenze e segnato 6 reti.

PSV Rimasto svincolato, il 6 agosto 2026 viene ingaggiato dal , con il quale sottoscrive un accordo biennale.

Nazionale

Dopo aver giocato nelle nazionali giovanili serbe Under-19 ed Under-21 (con la quale nel 2015 ha anche partecipato ai campionati europei di categoria), dal 2015 viene stabilmente convocato in nazionale maggiore, con cui debutta il 7 giugno dello stesso anno nell'amichevole vinta per 4-1 sull'. Il 5 settembre 2016 segna il suo primo gol con la selezione serba il 5 settembre 2016 nel interno per 2-2 contro l'.La rete successiva la insacca contro la Moldavia vincendo per 3-0.

Viene poi convocato per il campionato mondiale del 2018, manifestazione giocata in Russia, in cui è sceso in campo in tutte e tre le partite della sua squadra, uscita al primo turno, figurando nell'undici iniziale nelle ultime due.

Nel novembre del 2022 viene incluso dal commissario tecnico Dragan Stojković nella rosa serba partecipante alla fase finale del mondiale in Qatar.

Statistiche Presenze e reti nei club Statistiche aggiornate all'11 aprile 2026.

StagioneSquadraCampionatoCoppe nazionaliCoppe continentaliAltre coppeTotaleCompPresRetiCompPresRetiCompPresRetiCompPresRetiPresReti 2010-2011 PL 30 2 CS 0 0 - - - - - - 30 2 2011-2012 SL 27 3 CS 2 0 - - - - - - 29 3Totale Radnički Kragujevac 57 5 2 0 - - - - 59 5 2012-2013 ED 5+2Nei Play-off. 0 CO 0 0 - - - - - - 7 0 2013-2014 ED 34+4 9+2 CO 3 1 - - - - - - 41 12 lug.-ago. 2014 ED 0 0 CO 0 0 UEL 2Nei turni preliminari 0 - - - 2 0Totale Groningen 39+6 9+2 3 1 2 0 - - 50 12 ago. 2014-2015 BL 29 3 CG 1 0 - - - - - - 30 3 2015-2016 BL 30 5 CG 3 0 - - - - - - 33 5Totale Stoccarda 59 8 4 0 - - - - 63 8 2016-2017 BL 31 4 CG 4 0 - - - - - - 35 4 2017-2018 BL 30 5 CG 0 0 - - - - - - 30 5Totale Amburgo 61 9 4 0 - - - - 65 9 2018-2019 BL 34 6 CG 0 0 UEL 12 4 - - - 46 10 2019-2020 BL 33 4 CG 3 3 UEL 155 presenze nei turni preliminari 53 reti nei turni preliminari - - - 51 12 2020-2021 BL 30 4 CG 0 0 - - - - - - 30 4 2021-2022 BL 31 4 CG 0 0 UEL 12 3 - - - 43 7 lug.-ago. 2022 BL 1 0 CG 1 0 UCL - - SU - - 2 0Totale Eintracht Francoforte 129 18 4 3 39 12 - - 172 33 ago. 2022-2023 A 37 3 CI 3 0 UCL+UEL 6+8 0 - - - 54 3 2023-2024 A 29 0 CI 4 0 - - - - - - 33 0 2024-2025 SL 27 1 TK 4 1 UCL+UEL 0+4 0 - - - 35 2 giu.-lug. 2025 A - - CI - - UCL - - SI+Cmc -+2 -+0 2 0 2025-2026 A 18 3 CI 0 0 UCL 5 0 - - - 23 3Totale Juventus 84 6 7 0 19 0 2 0 112 6 2026-2027 E - - CO - - UCL - - SO - - - -Totale carriera 462 58 28 5 64 12 2 0 556 75

Cronologia presenze e reti in nazionale

Palmarès Club Competizioni nazionali

Juventus: 2023-2024

Competizioni internazionali

Eintracht Francoforte: 2021-2022

Individuale Squadra della stagione della UEFA Europa League: 2 2018-2019, 2021-2022

Calciatore della stagione della UEFA Europa League: 1 2021-2022

Note

Altri progetti

Collegamenti esterni

Categoria:Calciatori della nazionale serba