Envigado Born in
Cúcuta,
Norte de Santander, Rodríguez spent his childhood in the city of
Ibagué,
Tolima. He was born to ex-footballer Wilson James Rodríguez Bedoya and Maria Del Pilar Rubio. Rodríguez started his professional career in 2006 with Colombian club
Envigado. Although the club suffered relegation at the end of the year, he and Gio Moreno played key roles in helping the team secure promotion by winning the
2007 Primera B title on penalties. He became the second youngest Colombian player to start a professional match, playing his first match on 21 May 2006, at the age of 14.
Banfield 2008 In February 2008, Rodríguez was signed by Argentine team
Banfield, and played a year with the club's youth teams. He made his first team debut on 7 February 2009 and became the youngest foreigner in Argentine football history in the process.
2009 In 2009, Rodríguez became a regular first-team player, featuring in every game of the
Apertura 2009. At just 17, he became the youngest foreigner to score a goal in Argentina. His second goal for Banfield came on 26 September, when he scored with a strike into the top corner from outside of the area in an important 2–1 win against
Newell's Old Boys, a victory that helped Banfield win the
Argentine championship for the first time in the club's history. In December 2009, Italian club
Udinese planned to make a bid for Rodríguez for a reported €5 million after the
2010 Copa Libertadores. However, Banfield rejected the bid, labelling it as "insufficient". For the
Clausura 2010, on 13 February 2010, Rodríguez scored a
golazo in the match against archrivals
Lanús with a left-footed lob to make the game 2–0 in the final minutes. After the game, daily sports website
Diario Olé compared his playing and personal style to
Cristiano Ronaldo and nicknamed him the "
James Bond of Banfield".
2010 On 10 February 2010, Rodríguez scored his first
Copa Libertadores goal in a 2–1 home victory over Mexican club
Monarcas Morelia. He added to his glowing reputation a week later with a goal in a daunting victory over Copa Libertadores group rivals
Deportivo Cuenca away from home, scoring the fourth goal of the 4–1 victory with a nice left-footed finish in the box. His wonderful scoring season continued with a brace in the Copa Libertadores group match away to Uruguayan club
Nacional on 10 March. Rodríguez scored first with a diving header and then from the penalty spot in a 2–2 draw. The 18-year-old netted another goal against Brazilian club
Internacional on 29 April 2010 in the first leg of the
2010 Copa Libertadores round 16, which Banfield won 3–1. This goal brought his tally to five goals in seven games. However, Rodríguez' international season ended in defeat as his team went down on away goals with a 0–2 defeat in
Porto Alegre in the second leg, in which he was red carded for two fouls.
Porto 2010–11 season in 2011 On 6 July 2010, Rodríguez was signed by
Porto for €5.1 million, with 30% economic rights retained by other parties. He signed a four-year contract with a €30 million release clause. Porto later re-sold 10% economic rights to third parties. On 18 July, he played his first game and scored his first goal in a friendly against
Ajax. In November, Porto sold 35% economic rights (half of 70%) to Gol Football Luxembourg, S.A.R.L. for €2.5 million. On 15 December 2010, Rodríguez scored his first competitive goal during a 3–1
Europa League home victory against Bulgarian club
CSKA Sofia. On 17 May, Porto bought the remaining 30% economic rights from Convergence Capital Partners B.V. for €2.25 million and once again hold more than half of the economic rights with 55%. He scored a hat-trick and assisted once against
Vitória de Guimarães in the
2011 Taça de Portugal Final, which Porto won 6–2. On 13 June, Rodríguez signed a new five-year contract in which the release clause increased to €45 million. He finished the
2010–11 season with six goals and eight assists in 31 appearances. He also took home four trophies: the
Super Cup title, the
league title, the
Europa League title, and the
Cup title as Porto had a historic season. On 20 September 2011 in a league match against
Feirense, he punched
Rabiola and was subsequently dismissed, missing
the match against
Benfica.
2012–13 season In the
2012–13 season, Rodríguez was given the number 10 shirt and became a regular starter. Since fellow Colombians
Radamel Falcao,
Fredy Guarín and Brazilian
Hulk left the club during the last two seasons, Rodríguez was able to start more regularly than before. In a match against
Olhanense on 1 September, he scored a chip from a tight angle. In the same game, he assisted compatriot
Jackson Martínez with a through ball for an eventual 3–2 win. He scored the team's third goal against
Beira-Mar soon after assisting the first two goals in a 4–0 victory on 22 September. In the
2012–13 UEFA Champions League group stage, he scored against French club
Paris Saint-Germain in a 1–0 victory, allowing Porto to top their current group. A few days later, Rodríguez scored a penalty against rivals
Sporting CP. Because of his great start to the 2012–13 season, he won the
SJPF Player of the Month award for August/September. In the Champions League against
Dinamo Kyiv on 24 October, he assisted Jackson Martínez to an eventual 3–2 home victory. He scored Porto's last two goals in a 5–0 win over
Marítimo on 2 November. In the 90th minute against
Braga, Rodríguez scored a goal in an eventual 2–0 away victory. Prior to the second half of the season, he suffered a hamstring injury causing him to struggle to maintain fitness. In a match against
Nacional on 5 January, he injured his hamstring once more and was subsequently substituted after the first half. The injury sidelined him for a month. On 1 February 2013, Porto bought back 35% economic rights of Rodríguez from Gol Football Luxembourg for €8.75 million (by selling 47.5% economic rights of
Diego Reyes for €3.5 million), which Porto sold in November 2010 for €2.5 million. Rodríguez made his return at the 70th minute in the 2–0 victory over Beira-Mar on 23 February, his first match since being injured for more than a month. In his second league match since his return, he assisted a goal against Rio Ave with a wonderful cross. On 8 March, he assisted a goal against
Estoril from a corner in a 2–0 victory. It was Rodríguez' first start in two months. He did not start in the second leg of the Champions League match against Málaga until the second half when Porto was down to ten men after the dismiss of a defender. Porto lost the match and coach
Vítor Pereira was greatly criticized and questioned why Rodríguez did not start sooner, considering that the player was a key member and Porto could have had a more solid team. Rodríguez expressed his disappointment, claiming to be "100%" in good health (as well as giving a performance with no struggles shown). However, he also expressed his respect and understanding to the coach's concern. Despite an exit from the Champions League, Rodríguez went on to become the second-most fouled player in the tournament that year.
Manchester United reportedly made a bid for €30 million to purchase Rodríguez, though Porto rejected the offer as being too low. He scored his first
Taça da Liga goal, a penalty, in the
2012–13 Taça da Liga semi-final against Rio Ave. Porto won the match 4–0 and advanced to the final. In the final on 13 April, Porto lost 1–0 to Braga, with Rodríguez playing 75 minutes. Five days before the final, he gave a man of the match performance against Braga, scoring the first goal and assisting two in a 3–1 victory. In the final match of the season against
Paços de Ferreira on 19 May, Rodríguez was tripped inside the box and secured a penalty that was later scored by Lucho Gonzalez, which contributed to the 2–0 victory that led to Porto's third consecutive league title. In all competitions that season, he scored 13 goals and provided 15 assists in 32 appearances. Winning the league title meant that Rodríguez, at 21, won his eighth trophy since joining the club three years prior.
Monaco On 25 May 2013, it was announced that Rodríguez had joined
AS Monaco for a transfer fee of €45 million,
the second most expensive transfer in Portuguese football behind former teammate
Hulk. Rodríguez subsequently signed a five-year contract that was set to keep him at the club until 2018. This transfer made him not only one of the most expensive transfers in the club's history, but in
Ligue 1 history as well, along as one of the highest in world football. Rodríguez made his Monaco debut against
Bordeaux, a game Monaco went on to win 2–0. He then missed Monaco's second league match to avoid a possible injury. On 5 October against
Saint-Étienne, Rodríguez gave a man of the match performance by assisting both goals in a 2–1 victory. He finally scored his first goal for the club with a free-kick in a 2–0 win over
Rennes. Rodríguez scored another goal in the next match in the fourth minute against
Nice, a game Monaco won 3–0. He began the 2014 calendar year by making his
Coupe de France debut in a match against
Vannes, where he both assisted and scored a goal in a 3–2 victory. His first double at Monaco came in the match against
Bastia, a 2–0 Monaco victory. In the French media, Rodríguez was referred to as "perhaps" the best footballer in Ligue 1 due to his impressive debut season with Monaco, although he stated that he still required more time in the league to fully adapt. Following the international break, he scored his first penalty for Monaco against Sochaux in a 2–1 win. He ended his debut season without a trophy, though nonetheless helped Monaco secure a spot in the following season's
UEFA Champions League. On an individual level, he earned a spot in the star
Ligue 1 XI, and led Ligue 1 in assists for the season.
Real Madrid In a post-match interview during the
2014 FIFA World Cup, Rodríguez stated his "love", "admiration" and "passion" for
Real Madrid, saying that it would be a "life's dream" to play for them after his performances aroused rumors linking him to the Spanish club. On 22 July 2014, Rodríguez signed a six-year contract with the Spanish club for an undisclosed fee, which was reported to be approximately £63 million. At the time, this was the
fourth-most expensive transfer in the world, the third-most expensive in Madrid's history, and the most expensive Colombian after surpassing
Radamel Falcao's €60 million transfer in 2013. The amount spent on his transfer fee led many to call Rodríguez as a
Galáctico after he was given the number 10 shirt worn by Madrid legends such as
Luís Figo and
Ferenc Puskás. Rodríguez was greeted by a 45,000 attendance during his presentation. The Colombian ambassador in
Madrid made a speech at the event and carried a message from Colombian President
Juan Manuel Santos that Rodríguez was changing the history of Colombian football and that the entire nation was behind him. Real Madrid President
Florentino Pérez followed with a speech of his own, stating that he welcomed Rodríguez, a "lover" and "long supporter" of the club who would never forget the day he made his dream a reality.
2014–15: Debut season and UEFA Super Cup title Rodríguez made his debut in the
UEFA Super Cup at
Cardiff City Stadium against
Sevilla, in which Real Madrid won 2–0. He played 72 minutes before being replaced by
Isco. On 19 August, Rodríguez scored his first goal for Real Madrid against
Atlético Madrid in the first leg of the
Spanish Super Cup after coming on as a substitute for
Cristiano Ronaldo at half-time. Rodríguez made his Champions League debut for Real in the group stage opening match against
Basel, where he scored the fourth goal in a 5–1 victory. He then scored his first league goal days later against
Deportivo La Coruña, where he also supplied an assist in an 8–2 victory. He scored a brace in a 4–0 win at
Granada on 1 November; his first goal was a dipping volley from a poor angle. In the match against Sevilla in which he scored the opening goal, Rodríguez experienced a
fracture on the
fifth metatarsal in his right foot after being fouled. The injury required surgery and he was out of action for two months. He returned on 5 April in the match against Granada, where he assisted two goals in a 9–1 victory before being subbed at the 60th minute. Days later, he scored his first goal since his injury against
Rayo Vallecano in a 2–0 victory.
2015–17: Top performances and European dominance After being left on the bench for his team's season opener, a scoreless draw against
Sporting Gijón, Rodríguez made his first contribution of the season by giving a man of the match performance against
Real Betis. The player scored with both a spectacular free-kick and
bicycle kick and provided an assist for
Gareth Bale. On 8 September 2015, during an international friendly match against Peru, he collided with Peruvian player
Juan Manuel Vargas, and though he initially appeared able to continue, Rodríguez was removed from the game as a precautionary measure. He was diagnosed with a thigh muscle tear, and didn't return to training until 27 October. He played his first match since the injury on 8 November, scoring in a 3–2 loss to Sevilla. On 31 January 2016, he scored and assisted
Karim Benzema's goal in a 6–0 thrashing of
Espanyol. On 8 March, he scored his first and only goal of the
2015–16 UEFA Champions League, in a 2–0 victory against
Roma to help his club get into the quarter-finals. His team eventually won the Champions League, with Rodríguez making five appearances. Rodríguez made 22 appearances when Madrid won the
2016–17 La Liga, and six when Madrid won the
2016–17 UEFA Champions League. Despite scoring 11 goals, (including braces against Granada, Deportivo, and Sevilla), as well as providing 13 assists, he failed to gain more playing time under Zidane even with his influence on the pitch, leading him to request a loan transfer for more playing time.
2017–19: Loan to Bayern Munich On 11 July 2017, it was announced that Rodríguez had been loaned to
Bayern Munich on a two-year long deal. Bayern paid Real Madrid €13 million as a loan fee for the two season-long loan. With his loan deal to Bayern, he reunited with his old Madrid manager
Carlo Ancelotti. Bayern had the option to buy Rodríguez for €42 million at the end of the loan period. He scored his first goal of his loan spell in a 3–0 away win over
Schalke 04. After a slow start to his Bayern career, mainly due to an injury in preseason, Rodríguez rediscovered his form after
Jupp Heynckes was hired as Bayern's manager in October as the club sacked Ancelotti. On 2 April 2018, Bayern's CEO,
Karl-Heinz Rummenigge, thanked Ancelotti for bringing Rodríguez to Bayern. "It was a very, very good transfer and I have to thank Carlo Ancelotti once again," Rummenigge said. In the semi-finals of the
2017–18 UEFA Champions League season, Rodríguez scored the equalizing goal in a 2–2 draw against his parent club at the
Santiago Bernabéu Stadium, but Bayern failed to reach the final as they lost 3–4 on aggregate. However, Rodríguez went on to win the
2017–18 Bundesliga title with Bayern, credited as a key member behind their title defense for his contribution of 7 goals and 11 assists in 23 Bundesliga appearances. On 15 September 2018, Rodríguez scored his opening goal of the
season in a 3–1 victory over
Bayer Leverkusen. On 17 March 2019, he scored three goals in a 6–0 league win over
Mainz, his first hat-trick since 2011, with Porto. On 18 May, he won his second Bundesliga title as Bayern finished two points above
Dortmund with 78 points. A week later, he won his first
DFB-Pokal as Bayern defeated
RB Leipzig 3–0 in the
2019 DFB-Pokal Final. Rodríguez did not appear in the match as he was out injured. He appeared in 28 matches and scored seven goals in all competitions. On 5 June, it was announced that Bayern Munich would not pick up the buy option and he would return to Real Madrid.
2019–20: Final season and departure After his return to Madrid, Rodríguez made eight appearances during the league season, as Real Madrid won the
2019–20 La Liga.
Everton On 7 September 2020, Rodríguez joined club
Everton on a free transfer and signed a two-year deal, with a club option for a third season. The deal once again reunited him with manager Carlo Ancelotti. He made his debut later that month in a 1–0 away win against
Tottenham Hotspur in their first game of the
2020–21 Premier League season. The following week he scored his first goal for Everton on his home debut, a 5–2 league win against
West Bromwich Albion. He scored two goals and provided an assist for his international teammate
Yerry Mina in a 4–2 victory at Goodison Park against
Brighton & Hove Albion on 3 October 2020. He added to his goal tally against
Manchester United in a 3–3 draw at
Old Trafford on 6 February 2021.
Al-Rayyan On 22 September 2021, Rodríguez joined
Al-Rayyan for an undisclosed fee. On 17 October 2021, Rodríguez made his debut for Al-Rayyan, in a 3–0 loss against
Al-Duhail. He scored his first goal for the team against
Al-Sailiya on 26 October 2021. On 15 September 2022, Al-Rayyan and the player parted ways.
Olympiacos On 15 September 2022, Rodríguez joined
Greek Super League champions
Olympiacos on a free transfer. Upon arrival, Rodríguez was handed the number 10 jersey, previously worn by
Rony Lopes who had departed to play on loan for Ligue 1 side
Troyes. He made his league debut on 18 September as a starter against
Aris Thessaloniki, a match in which his team lost 2–1 despite being up a goal for the majority of the match. On 13 April 2023, Rodríguez' contract with Olympiacos was terminated by mutual consent.
São Paulo On 29 July 2023, Rodríguez joined
São Paulo, signing a two-year contract. He made his debut for the club in a 1–1 draw with Flamengo on 13 August. Despite making mostly substitute appearances as he was coming from four months off the pitch, he was getting regular playing time under manager
Dorival Júnior in the 2023 season, making 14 appearances out of a possible 25 until an injury suffered in training left him out for the final three matches of the season. However, with the arrival of
Luis Zubeldía, Rodríguez began struggling for playing time, playing less than 200 minutes over 8 appearances in the first half of the 2024 season, with coach Zubeldia preferring other players in his position instead. In July 2024 his contract with São Paulo was terminated by mutual consent, with Rodríguez making 22 appearances and scoring two goals in his spell with the Brazilian club.
Rayo Vallecano Rodríguez joined
La Liga club
Rayo Vallecano in August 2024 as a free agent. He made a total of seven appearances in the 2024–25 season for a total of 205 minutes and provided an
assist in Rayo's Copa del Rey victory over
Unionistas. His contract with Rayo was terminated by mutual consent in January 2025 after only four months and seven appearances with the club.
León Following his departure from Rayo, there was speculation about a transfer to
Junior, with club president Fuad Char saying that he would be paid one of the biggest salaries in Colombian football. On 13 January 2025,
Liga MX club
León announced Rodríguez' signing following his departure from Rayo. On 26 January, he netted his first goal from a penalty in a 1–0 victory over
Juárez. However, his contract with the club was not renewed and would become a free agent at the end of the same year.
Minnesota United On 6 February 2026, Rodríguez signed with
Major League Soccer club
Minnesota United on a deal through to June 2026, with a club option through to December 2026. ==International career==