Comincia la carriera di calciatore nelle giovanili dell'Estudiantes, dove entra all'età di dieci anni. Con la prima squadra dell'Estudiantes esordisce nel 2008, in Colón (SF)-Estudiantes (0-1), partita di Primera División. Ottenuto stabilmente un posto tra i titolari nel ruolo di terzino sinistro, vince la Coppa Libertadores 2009 e disputa la finale del Coppa del mondo per club FIFA 2009, persa per 2-1 contro il Barcellona. Si aggiudica poi il campionato argentino di Apertura 2010 e segna il suo primo gol con i biancorossi durante la Recopa Sudamericana 2010, nella partita persa per 2-1 contro la LDU Quito.
Spartak Mosca e Sporting Lisbona
Nel dicembre 2010 si trasferisce per 2 milioni di euro in Russia, per giocare con lo Spartak Mosca. Il 20 aprile 2011 segna il suo unico gol con la maglia del club moscovita, nella partita dei quarti di finale di Coppa di Russia vinta per 2-1 contro il Krasnodar.
Il 19 luglio 2012 si trasferisce allo Sporting Lisbona per 5,5 milioni di euro, firmando un contratto fino al 2016. Esordisce il 19 agosto, giocando la partita terminata senza reti contro il Vitória Guimarães. Il 7 ottobre 2012 riceve il primo cartellino rosso nella Primeira Liga, nella gara persa per 2-0 contro il Porto, mentre il 28 aprile 2013 va in gol per la prima volta con il club di Lisbona, nella vittoria per 2-1 contro il Nacional. Nella sua prima stagione lusitana, chiusa dallo Sporting al settimo posto in campionato, viene impiegato per lo più come difensore centrale e di rado come terzino sinistro. Nell'annata 2013-2014 realizza 6 gol, contribuendo al secondo posto finale in campionato.
Manchester United e prestito all'Estudiantes
Il 20 agosto 2014 viene acquistato dal Manchester United per 20 milioni di euro, firmando un contratto di cinque anni; nella stessa trattativa Nani passa in prestito allo Sporting Lisbona.[3] Il 14 settembre seguente mette a referto la prima presenza con la maglia dei Red Devils, nella gara vinta per 4-0 in casa contro il QPR. In seguito alle ottime prestazioni, diventa il titolare della difesa schierata dal tecnico Louis van Gaal. Il 23 gennaio 2015 esordisce in FA Cup giocando da titolare la partita pareggiata per 0-0 in casa del Cambridge Utd. Nella partita di ritorno giocata all'Old Trafford segna il suo primo gol con la maglia del Manchester United, nella gara finita 3-0 per i Red Devils.
Il 30 gennaio 2020 viene prestato per sei mesi all'Estudiantes,[4] con cui esordisce nuovamente, a causa di un infortunio, solo il 17 febbraio successivo, nella partita persa in casa per 1-2 contro il Defensa y Justicia. A causa di alcuni malanni fisici e della sospensione della stagione dovuta alla pandemia di COVID-19, termina l'esperienza all'Estudiantes con una sola partita disputata.
Rientrato al Manchester United nell'estate del 2020, non trova spazio in squadra nella prima parte della stagione 2020-2021.
Boca Juniors
Il 2 febbraio 2021, dopo aver rescisso il contratto con il club inglese, torna in Argentina, accasandosi a titolo definitivo al Boca Juniors.[5]. Debutta ufficialmente il 14 marzo 2021 in occasione del match contro il River Plate terminato sul punteggio di 1-1, sostituendo nell'ultimo quarto d'ora Gonzalo Maroni[6].
Realizza il primo goal in occasione della vittoria per 3-0 in trasferta contro l'Huracán su calcio di rigore.[7]. Il 22 maggio 2022 realizza il primo dei 3 goal con cui il Boca Juniors batte il Tigre e si laurea campione della Copa de la Liga Profesional 2022.[8]. In seguito alla cessione di Carlos Izquierdoz allo Sporting Gijón, diventa il nuovo capitano della squadra.
Il 13 ottobre 2022, in occasione del match di campionato contro il Sarmiento (J), prima sbaglia un calcio di rigore, poi è costretto a lasciare il campo per infortunio ai legamenti del crociato.[9].
Nazionale
Il 1º giugno 2011 viene inserito dal CT Batista nella lista dei 26 pre-convocati in vista della Coppa America di luglio.
Convocato per il Mondiale 2014, Rojo va in gol nella terza partita del torneo, contro la Nigeria, chiudendo le marcature nel 3-2 contro gli africani.[10] Al termine del torneo, concluso al secondo posto dopo la sconfitta 1-0 in finale contro la Germania, Rojo viene inserito nella "top 11 FIFA" della competizione.[11]
Viene convocato da Jorge Sampaoli per il mondiale di Russia 2018. Nell'ultima partita del girone segna all'85º minuto il gol del decisivo 2-1 contro la Nigeria, rete che permette all'Argentina di passare il girone come seconda.