Cresciuto nelle giovanili del CSKA Mosca viene ceduto nel 2010 in prestito per due stagioni alla Stella Rossa dove fa il suo esordio il 5 marzo 2011. Con la Stella Rossa vince anche una Coppa di Serbia.
Nell'estate del 2012 viene preso in prestito con diritto di riscatto dal Pescara neopromosso in Serie A. Il 16 settembre 2012 fa il suo esordio nella massima serie del campionato italiano nella sconfitta casalinga per 3-2 contro la Sampdoria. Nel dicembre dello stesso anno rimedia un infortunio alla caviglia che lo tiene lontano dai campi per diverse partite. Rientra il 3 febbraio nel match casalingo contro il Bologna (2-3). Nonostante la retrocessione dei biancazzurri in Serie B, Cosic si dimostra uno dei pochi elementi positivi della squadra.
Il 6 giugno 2013 il Pescara esercita il diritto di riscatto del cartellino del giocatore, di proprietà del CSKA Mosca, per 900.000 euro.[1] In Serie B non riesce a giocare con costanza a causa dei continui infortuni, chiude la stagione con appena tredici presenze in campionato e una in Coppa Italia.
Viene confermato anche per la stagione successiva con gli abruzzesi sempre in Serie B. Il 17 agosto gioca la prima partita stagionale contro il Renate, valida per la Coppa Italia e vinta dal Pescara ai rigori. Viene schierato da titolare il 30 agosto contro il Trapani nella prima partita di campionato, 0-0 il risultato finale.
Il 31 maggio 2015, in seguito alla prima storica promozione in Serie A del club laziale, diventa cittadino onorario di Frosinone insieme al resto della squadra.[3] Il 1º luglio 2015 torna al Pescara per fine prestito.
Il 31 agosto 2015 passa ufficialmente a titolo definitivo all'Empoli, firmando un contratto fino al 30 giugno 2018 il suo debutto con i toscani arriva per via di un infortunio solo alla ventiseiesima giornata, il 21 febbraio 2016 nella trasferta di Reggio Emilia contro il Sassuolo ritrovando la massima serie dopo quasi 3 anni. Nel finale di stagione gioca abitualmente da titolare. Chiude la stagione con 9 presenze.[4]
Nazionale
Conta alcune presenze nelle selezioni giovanili serbe, dal 2013 è capitano della nazionale Under-21.