È cresciuto nelle file della Stella Rossa, di cui è stato anche vice-capitano nell'ultima stagione di permanenza.
Udinese e il prestito al Lecce
Nell'estate 2008 si aggrega dapprima all'Udinese ma successivamente viene ceduto in prestito al Lecce.
Esordisce in Serie A il 29 ottobre 2008 in Lecce-Palermo (1-1) subentrando nel secondo tempo a Fabio Caserta.[1] Conclude la stagione con 7 presenze e zero gol.
Finito il prestito al Lecce, ritorna all'Udinese, e debutta con la maglia dell'Udinese il 23 settembre 2009 subentrando all'infortunato Isla nel match contro il Milan, vinto dall'Udinese per 1-0.[2] Nella stagione 2009-2010 colleziona 16 presenze, poi un brutto infortunio lo tiene lontano dal campo per l'intero campionato successivo. Segna il suo primo gol con la maglia friulana l'11 settembre 2011 nell'incontro Udinese - Lecce vinto dai bianconeri per 2 a 0: il gol arriva dopo solo un minuto dall'inizio dell'incontro.[3]
Il 6 novembre 2011 segna il suo secondo gol con i bianconeri nella vittoria interna per 2 a 1 contro il Siena.[4]. La sua stagione a Udine si conclude ad ottimi livelli ed è considerato uno dei pilastri più importanti dell'Udinese. La sua quarta stagione con la maglia bianconera inizia nel migliore dei modi nel preliminare di Champions League dove riesce a portare l'Udinese in vantaggio grazie a un suo imponente stacco di testa che riesce a trasformare in goal, la partita di andata infine si conclude 1-1. Il primo goal della stagione 2012/2013 avviene contro il Siena con un tiro di grande potenza, sempre nella stessa partita fornisce un assist trasformato in gol dal bomber Di Natale.
Lazio
Il 17 giugno 2014, la Lazio annuncia il suo acquisto, a titolo temporaneo con riscatto obbligatorio, sulla pagina ufficiale della società.[5][6] Esordisce il 24 agosto 2014 in occasione della partita di Coppa Italia, vinta 7-0, contro il Bassano Virtus dove ha l'occasione di segnare anche la sua prima rete con la nuova maglia.[7] Il 31 agosto successivo fa il suo esordio anche nel campionato italiano nella sconfitta esterna, per 3-1, contro il Milan.[8] Il 20 maggio 2015 perde la finale di Coppa Italia dove la Lazio viene sconfitta dalla Juventus per 2-1.[9] Conclude la sua prima stagione alla Lazio con 33 presenze e 1 gol in totale.
Il 1º luglio 2015 la Lazio paga l'intero cartellino. La seconda stagione si apre l'8 agosto successivo, giocando da titolare e perdendo la Supercoppa italiana 2015, per 2-0, contro i Campioni d'Italia della Juventus.[10] Il 18 agosto 2015 disputa la sua prima partita, con la maglia biancoceleste, in Champions League in occasione del turno preliminare, vinto per 1-0, contro i tedeschi del Bayer Leverkusen. Chiude la seconda stagione con un bottino di 29 presenze.
Il 30 aprile 2017 torna a segnare un gol in Serie A dopo tre anni dall'ultimo siglato con la maglia dell'Udinese nella vittoria per 3-2 contro la Roma;[11] proprio a quest'ultima va a siglare il gol del momentaneo 1-2 in favore dei biancocelesti nel Derby di Roma che andranno poi a vincere il match 1-3.[12] Il 17 maggio successivo perde la sua seconda finale di Coppa Italia poiché la sua squadra viene superata, per 2-0, dalla Juventus.[13] Conclude la stagione con 30 presenze e 1 rete messa a segno.
Il 13 agosto 2017 vince il suo primo titolo in maglia biancoceleste poiché la Lazio si impone, per 2-3, sulla Juventus nella partita valida per l'assegnazione della Supercoppa italiana 2017.[14] Il 26 novembre successivo disputa la sua centesima partita con indosso la maglia della Lazio, in occasione del pareggio interno, per 1-1, contro la Fiorentina.[15] Conclude la stagione con la vittoria della Supercoppa italiana e 22 presenze.
Rimasto svincolato, a settembre 2019 annuncia il suo ritiro, salvo poi tornare ad indossare gli scarpini, dopo due anni di inattività, in Serie D con la Gioiese di Gioia Tauro.
Nazionale
Esordisce con la Serbia e Montenegro il 30 marzo 2005, nell'incontro valevole per le qualificazioni al Campionato mondiale di calcio 2006 contro la Spagna. Basta, a 21 anni, viene successivamente convocato per il torneo in Germania, ma non gioca nessuna partita nella fase a gironi (Serbia e Montenegro perde 1-0 contro l'Olanda, 6-0 contro l'Argentina e 3-2 contro la Costa d'Avorio). Rientra poi nel giro dell'Under 21 del suo paese, con la quale arriva secondo nell'Europeo 2007. Realizza il suo primo gol con la Serbia il 6 febbraio 2013 nella partita amichevole vinta per 1-3 a Nicosia contro Cipro.