Silva durchlief sämtliche portugiesischen Juniorenmannschaften. Für die A-Nationalmannschaft wurde er zum ersten Mal für die Spiele im September 2016 gegen Gibraltar und das erste Spiel der WM-Qualifikation gegen die Schweiz in den Kader berufen. Er wurde auch in den weiteren Qualifikationsspielen eingesetzt und trug mit neun Toren dazu bei, dass sich die Portugiesen für die WM qualifizierten. Im Juni und Juli 2017 nahm er mit der Mannschaft am FIFA-Konföderationen-Pokal teil, bei dem Portugal den dritten Platz belegte. Bei der Weltmeisterschaft 2018 in Russland gehörte Silva zum portugiesischen Aufgebot und schied mit seiner Mannschaft im Achtelfinale gegen Uruguay aus. Dabei kam er in drei Partien zum Einsatz. Im Juni 2019 gewann Silva mit der A-Nationalmannschaft die UEFA Nations League, stand bei der Endrunde jedoch nicht im portugiesischen Kader. Auch für die Europameisterschaft 2021 wurde der Stürmer in den portugiesischen Kader berufen und schied mit dem Team im Achtelfinale aus. Da Nationaltrainer Fernando Santos im Sturmzentrum auf Kapitän Cristiano Ronaldo setzte, kam Silva lediglich auf 36 Spielminuten und wurde im letzten Gruppenspiel gar nicht eingesetzt.