Debutó en el Atlético Nacional de Colombia en 2010. Cuatro años más tarde llegó a Rayados, donde rápidamente demostró su calidad y talento.
En el Clausura 2016 se fue a los Tuzos de Pachuca y regresó al Monterrey en el Apertura 2017.
Es uno de los jugadores constantes de la Selección de Colombia y ha disputado partidos eliminatorios y de la Copa América.
Con el Monterrey, ha logrado campeonatos de la Liga MX, Copa MX y Liga de Campeones de CONCACAF.