Colombia Borja began his career with
Deportivo Cali, making his professional debut in 2011. That same year, he was transferred to
Cucuta Deportivo, club in which he had few chances to play. He would soon be transferred again, this time to play for
Categoría Primera B side,
Cortuluá. Borja would make a name for himself in the second division of Colombia, often being referred to as a 'fast' and 'complete goalscorer', as well as boasting impressive strength on the ball. His impressive performances with Cortuluá eventually led him to becoming an alternative striker for
Colombia's national under-20 team in 2013. On 17 January 2013, it was reported that
Independiente Medellin had been interested in acquiring Borja's services. However, nothing was finalized and Borja was eventually sold to first division side,
La Equidad. In his 2 disputable games, Borja scored 4 goals before being transferred to
Serie A side
Livorno.
Livorno and Olimpo During the summer of 2013, it was confirmed that Borja would join Italian club
Livorno on loan. The loan consisted of a fee of €150,000 with an option to buy for €1.5 million. His debut for
Le Triglie came on 20 October, coming off the bench in a 1–2 loss to
Sampdoria. Borja made seven season appearances for the club but failed to score a goal. Livorno was eventually regulated to the
Serie B after placing last for the season. Shortly after Livorno were relegated, Borja was sent on loan to Argentine club
Club Olimpo, where he scored three in sixteen games.
Return to Colombia Borja was loaned to
Independiente Santa Fe for the second half of 2015. That season, Borja scored ten goals in thirty-three matches. He won the
2015 Copa Sudamericana with the team (he played seven matches with no goals). For the 2016 season, he was sold to
Cortuluá who was 17th in the league the previous season. In the Apertura tournament of the season, Borja scored a record of nineteen goals in twenty-one matches, breaking the record of most goals scored by a player in a league tournament (the previous record was held by
Jackson Martínez, with eighteen goals in the
2009 Finalizacion). His team Cortuluá reached the Semifinals, which they lost to
Independiente Medellín. He was transferred again on 8 June, this time to
Atlético Nacional. On 6 July, during his first match for his new team, while playing against
São Paulo in the semi-finals of the
Copa Libertadores, he scored twice, a feat he repeated in the second leg a week after. Then, on 27 July 2016, he went on to score the definitive goal in the final series against Ecuadorian team
Independiente del Valle, which Atlético Nacional ended up winning 2–1 on the aggregate. At the end of the year, Borja was included in the best 11 of the year.
Palmeiras On 9 February 2017, it was announced that Borja had agreed to transfer to Brazilian side
Palmeiras. He signed a five-year deal for a fee believed to be around US$10.5 million. Borja became the fourth most expensive transfer of Brazilian football.
Junior On 28 December 2019, Borja signed a one-year loan deal with
Atlético Junior. On 8 September 2020, in the first leg of the
2020 Superliga Colombiana, which had been moved from January to September due to the
COVID-19 pandemic, Borja scored a penalty in an eventual 2-1 loss against
América de Cali. However, this goal later proved to be crucial in the second leg, with Junior winning the second leg 2-0 and winning the title 3-2 on aggregate.
Grêmio On 5 August 2021, Borja signed with
Grêmio until December 2022 on loaned from
Palmeiras, and was given the number 9 shirt.
River Plate On 12 July 2022, Borja signed a contract with Argentine giants
River Plate, running until December 2025. During his time in River, Borja applied for
Argentine citizenship, which he formally received in October 2025. ==International career==