Silva speelde in de jeugd voor Atlético Povoense, Alverca en CD Feirense. Op 29 juli 2012 debuteerde hij voor CD Feirense in de beker tegen FC Penafiel. Gedurende het seizoen 2012/13 miste hij slechts één competitieduel in de Segunda Liga. In juni 2013 tekende hij een vijfjarig contract bij SC Braga. Op 26 augustus 2013 debuteerde hij in het shirt van SC Braga tegen CF Os Belenenses. Silva was gedurende het seizoen 2015/16 met acht competitiedoelpunten een van de belangrijkste doelpuntenmakers binnen de selectie van Braga.[1] In de zomer van 2016 maakte de vleugelspeler de overstap naar Benfica, waar hij zijn handtekening zette onder een verbintenis voor de duur van vijf seizoenen.[2]
Silva speelde in meerdere Portugese nationale jeugdelftallen. Op 28 februari 2014 werd hij voor het eerst opgeroepen voor het Portugees voetbalelftal voor een vriendschappelijke interland tegen Kameroen op 5 maart 2014. Hij speelde de volledige eerste helft. Portugal won de oefenpartij met 5–1. Op 19 mei 2014 maakte bondscoach Paulo Bento bekend Rafa Silva mee te nemen naar het wereldkampioenschap voetbal in Brazilië.[3] Op het toernooi kwam hij in geen van de drie wedstrijden – Portugal kwam niet voorbij de groepsfase – in actie. Bondscoach Fernando Santos nam Rafa Silva op 17 mei 2016 op in de Portugese selectie voor het Europees kampioenschap voetbal 2016 in Frankrijk.[4] Zijn landgenoten en hij wonnen hier voor het eerst in de geschiedenis van Portugal een groot landentoernooi. Een doelpunt van Éder in de verlenging besliste de finale tegen Frankrijk: 1–0.