Ele começou sua carreira no Atlético Junior, fazendo 108 partidas e marcando 21 gols. Em 2019, assinou pelo Porto por € 7 milhões, fez sua estreia internacional pela seleção da Colômbia em 2018 e continuou para a Copa América de 2019 e 2021.