El “Titán” inició su carrera en el Real Salt Lake de la MLS en 2013, y en 2015 llegó a las Chivas de Guadalajara, conjunto con el que jugó 60 partidos y ganó la Copa MX y la Supercopa MX.
El defensa mexicano emigró a Europa, donde jugó en la Fiorentina, de Italia y el Eintracht Frankfurt, de Alemania, donde disputó 26 juegos de la Bundesliga y 6 de la Copa Alemana; además levantó el título de la Copa de Alemania.
Luego de su paso por el Viejo Continente, jugó en el Club Tigres, el Toronto FC de la MLS el FC Juárez y el Cruz Azul consiguiendo múltiples campeonatos.
Carlos ha disputado 48 partidos con la Selección Mexicana, 4 de ellos en Copas del Mundo, 11 en Copa Oro, 6 en Eliminatorias para el Mundial, 3 en Nations League de CONCACAF, 2 en Copa Confederaciones, 1 en Copa América y 21 partidos amistosos.