Joao Rodríguez started part of his youth career with Colombian side Deportes Quindío. Eventually, Joao caught the eye as a prolific striker in the junior ranks of national Colombian football. His performances at the 2011 South American Under-15 Championships caught the eye of scouts worldwide, including those of Chelsea.[7][8] Joao spent two months on trial as an Under-16 and impressed enough to sign a pre-contract agreement for a five-year professional contract beginning on his seventeenth birthday. This made him the first Colombian in history to sign with the London club. As part of the agreement Rodríguez remained at Deportes Quindío to play for the 2012–13 season. The player officially joined Chelsea for the start of the 2013/14 season.
In January 2014, Rodríguez returned to Colombia to join Uniautónoma on loan for the remainder of the 2013/14 campaign.[9] On 16 March 2014, Rodríguez made his Uniautónoma debut in a 4–2 victory against Independiente Medellín, in which he played the full 90 minutes and scored in the 75th minute to give Uniautónoma a 3–0 lead.[10]
On 4 August 2014, Rodríguez joined French side Bastia, managed at the time by former Chelsea player Claude Makélélé, on loan for the season.[11] On 16 August 2014, Rodríguez made his Bastia debut in a 2–0 away defeat to Paris Saint-Germain, replacing Brandão with eighteen minutes remaining.[12] On 8 January 2015, after only making four appearances at Bastia and failing to impress, Rodríguez's loan was terminated and therefore, he returned to Chelsea.[13][14]
On 2 February 2015, Rodríguez joined Portuguese side Vitória on loan for the remainder of the 2014–15 campaign along with Mexican team-mate Ulises Dávila.[15] However, Rodríguez failed to make an impression under manager Bruno Ribeiro and returned to Chelsea at the end of the campaign after failing to register a single appearance.
On 2 August 2015, Rodríguez joined Belgian side Sint-Truiden, on loan for the season.[16] On 16 August 2015, Rodríguez made his Sint-Truiden debut in a 1–0 defeat to Gent, replacing Yuji Ono in the 74th minute.[17] On 3 October 2015, Rodríguez made his only start for Sint-Truiden in a 3–1 defeat to Waasland-Beveren, in which he played just over an hour before being replaced by Hilaire Momi.[18]
On 15 June 2016, Rodríguez joined Colombian side Santa Fe on loan for the 2016/17 campaign.[19] On 18 July 2016, Rodríguez made his Santa Fe debut in a 2–1 defeat against Junior, in which he replaced Jonathan Gómez with thirteen minutes remaining.[20] On 15 August 2016, Rodríguez was given his first Santa Fe start by manager Gustavo Costas, playing the full 90 minutes in a 1–0 defeat against Atlético Huila.[21] On 28 December 2016, it was announced by Santa Fe, that Rodríguez would return to Chelsea after a disappointing loan spell.[22]
On 6 January 2017, Rodríguez joined Cortuluá on loan for the first half of the 2017 campaign.[23] On 3 February 2017, Rodríguez made his Cortuluá debut in a 4–0 home defeat against Deportivo Pasto, featuring for seventy minutes before being replaced by Duvan Sánchez.[24] On 1 July 2017, Rodríguez returned to Chelsea after appearing just five times during his loan spell at Cortuluá.
On 5 September 2017, Rodríguez joined Mexican side Tampico Madero on a season-long loan.[25] A month later, Rodríguez made his debut during a 1–0 away defeat to Juárez, replacing Diego Martínez in the 82nd minute.[26] After three years without a goal, Rodríguez netted in Tampico Madero's 2–0 away victory against Venados, firing past Armando Navarrete in the 84th minute.[27] A week later, Rodríguez scored once again, rounding the goalkeeper to make it 3–0 during their league tie against Atlante.[28]
On 12 July 2018, Rodríguez joined Spanish second tier side Tenerife on a season-long loan.[29]
Rodríguez completed a move to Central Córdoba of the Argentine Primera División on a free transfer on 30 July 2019; six months after his release from Chelsea.[30] He went onto feature 19 times all in competitions, scoring three goals before leaving the club for Mexican outfit, Necaxa in July 2020, prior to a subsequent return to Colombia in March 2021, to join América de Cali.[31] Between March and December 2021, Rodríguez went onto feature twenty-two times for América de Cali, scoring once before leaving to join fellow Categoría Primera A side, Jaguares in February 2022.[32]
After spells at Alvarado in Argentina and Los Chankas in Peru, it was confirmed on 29 November 2023, that Rodríguez would join Costa Rican side Municipal Grecia from the new year.[33]
International career
Joao has represented Colombia in the U15 side and represented Colombia during the 2013 South American Under-17 Football Championship held in Argentina. He was given the number 10 shirt. He made his debut in a 1–1 tie of the opening match against Paraguay. Throughout the group stages, Joao led Colombia to goalless draws without creating an impact. Only in the final group stage match against Argentina did he finally score his first goal. However, Colombia lost the match 3-2 and were knocked out.