Iniciou profissionalmente no Barranquilla, passando em seguida ao Junior de Barranquilla. Em janeiro de 2010 foi contratado pelo Trabzonspor da Turquia por três anos de vínculo,[1] entretanto, abandonou o clube alegando problemas de saúde, nunca comprovados.[2] Contratado pelo Racing teve passagem tumultuada, que culminou em luta corporal no vestiário e ameaça com arma de brinquedo contra o goleiro e capitão da equipe Sebastián Saja, após a derrota por 1–4 para o Independiente em abril de 2012.[3]
Após o episódio foi emprestado ao Lanús apenas para a disputa da Copa Libertadores da América de 2012. Porém seu vínculo foi encerrado após atuar em apenas duas partidas, por abandonar a equipe e retornar a seu país.[4] Foi emprestado em seguida ao Atlético Junior por seis meses.[5]
Em dezembro de 2012 foi negociado em definitivo ao Cruz Azul do México por três temporadas.[6]
Após cumprir seis meses de vínculo, transferiu-se em agosto de 2013 ao River Plate, após demorada negociação.[7][8]
Em 19 de julho de 2015 foi contratado pelo Sporting por três épocas, com opção de renovação por mais ano, e com cláusula de rescisão fixada em 40 milhões de euros.[9]
Durante as Olimpíadas do Rio de 2016, Teo Gutiérrez foi emprestado por uma temporada ao Rosário Central.[10]
Seleção Colombiana
Estreou pela Seleção Colombiana principal em 7 de agosto de 2009 em partida amistosa contra El Salvador quando também marcou seu primeiro gol.[11]