After starting his professional career at Feirense, Silva transferred to Braga in 2013 and went on to make 127 appearances for them, scoring 26 goals winning the Taça de Portugal in 2016. He joined Benfica that year for €16.4 million, winning three Primeira Liga championships and another cup during his spell. In June 2024, he joined Beşiktaş J.K.
Silva made his professional debut on 29 July 2012, playing the full 90 minutes in a 2–1 home win against Penafiel for the season's Taça da Liga.[3] He only missed one game in the league campaign, totalling more than 3,200 minutes of action to help his team finish 13th in the Segunda Liga.[4][5]
Braga
In June 2013, Silva signed a five-year contract with Braga for an undisclosed fee.[6] On 10 November he scored his first goals, striking twice in a 3–1 win at Olhanense in the fourth round of the Taça de Portugal;[7] nineteen days later he scored for the first time in the league, in a 4–1 home win over the same opposition.[8] He finished his first year with 23 appearances and three goals[9] to help to a ninth-place finish.
On 1 September 2016, defending champions Benfica announced that Silva had signed a five-year contract with the club, in a deal totalling €16.4 million. His release clause was set at €60 million.[13][14] He made his debut eight days later, starting in a 2–1 win at Arouca.[15]
Silva scored his ninth league goal of 2018–19 on 2 March 2019, in a 2–1 away victory against Porto; Benfica leapfrogged the opposition and took first place with ten rounds remaining.[18][19] He ended the season with a career-best 17 league goals, bettered only by teammate Haris Seferovic (23 goals) and Bruno Fernandes (20) in the whole division.[20] After the season ended, his contract was renewed until 2024 and its buyout clause increased to €80 million.[21]
On 4 August 2019, Silva scored the opening goal of a 5–0 win for Benfica in the 2019 Supertaça Cândido de Oliveira, against city rivals Sporting at the Estádio Algarve.[22] On 23 October, he scored his first Champions League goal in a 2–1 victory over Lyon.[23] The following 17 January, days after returning from a three-month injury,[24] he scored both goals in a win away to the same team.[25]
On 25 October 2022, he scored a brace in a 4–3 victory over Juventus, which qualified his club to the knockout phase.[26] On 27 May 2023, he scored a goal in a 3–0 victory over Santa Clara, securing his club's Primeira Liga title for the first time since 2018–19.[27]
On 12 May 2024, he netted a brace and provided an assist in a 5–0 win over Arouca, marking his final match for Benfica at the Estádio da Luz.[28] He finished his last season at the club as top scorer with 14 goals in the league out of 22 in all competitions.[29]
Beşiktaş
On 25 June 2024, Süper Lig club Beşiktaş announced that Silva arrived in Istanbul to complete his transfer to the club.[30]
On 28 February 2014, Silva received his first callup for the senior side, for an exhibition game with Cameroon on 5 March.[32] He played the first 45 minutes of the game, in a 5–1 win in Leiria.[33] On 19 May, he was named in the final 23-man squad for the 2014 FIFA World Cup,[34] remaining unused in Brazil as his team were knocked out in the group stage.
Silva missed over two years of international football from September 2016 to October 2018, returning against Poland in the UEFA Nations League; he was selected for the final tournament on home soil where he played the final 15 minutes of the 1–0 win over the Netherlands. At UEFA Euro 2020, delayed to 2021, he played two group games off the bench, winning a penalty and assisting Cristiano Ronaldo in a 3–0 win over Hungary.[40]
On 19 September 2022, Silva announced his retirement from international football, citing personal reasons.[41]
^""Doidos" por Rafa" ["Crazy" about Rafa]. Record (in Portuguese). 2 July 2013. Retrieved 3 October 2013.
^"Rafa até 2018" [Rafa until 2018]. Record (in Portuguese). 21 June 2013. Archived from the original on 26 September 2013. Retrieved 25 September 2013.