* Gol dan kemunculan untuk kelab senior hanya untuk liga domestik dan tepat pada 16:49, 22 Mei 2021 (UTC) ‡ Gol dan kemunculan pasukan kebangsaan hingga 15 Jun 2021
Silva telah dilahirkan di Baguim do Monte di Gondomar. Beliau mula bermain bola sepak bersama kelab bola sepak kecil di Porto, S.C. Salgueiros. Beliau turut sempat menjadi pemain Boavista FC tetapi tidak lama selepas itu, beliau kembali ke kelab lamanya yang dinamakan semula sebagai Salgueiros 08.
Silva menyertai kelab junior FC Porto pada tahun 2011 di kala beliau berusia 15 tahun. Pada 12 Ogos 2013, beliau melakukan penampilan sulungnya untuk FC Porto B dengan menggantikan Tozé pada minit ke-77 ketika menentang S.C. Beira-Mar yang berkesudahan Porto menang 3-2 dalam saingan Segunda Liga.
Silva menamatkan musim keduanya bersama Porto B dengan melakukan 34 kemunculan dan menjaringkan tujuh gol selain membantu pasukannya menduduki tangga ke-13 di divisyen kedua.
Silva melakukan penampilan sulungnya bersasma pasukan senior FC Porto pada 29 Disember 2015 dengan beraksi sehingga wisel penamat ditiupkan ketika menentang C.S. Marítimo dalam saingan Taça da Liga yang menyaksikan Porto tewas 1-3. Kemunculan pertamanya di Primeira Liga pada empat hari berikutnya apabila beliau menggantikan Vincent Aboubakar pada 20 minit terakhir ketika menentang Sporting Clube de Portugal yang berkesudahan Porto tewas 2-0.
Beliau memulakan musim 2015-16 sebagai penyerang ketiga Porto di belakang penyerang utama kelab, Aboubakar dan Dani Osvaldo. Namun, nasibnya bertambah buruk apabila Porto membawa masuk penyerang baru, Suk Hyun-jun dan Moussa Marega. Namun begitu selepas José Peseiro menggantikan Julen Lopetegui sebagai pengurus baru, Silva lebih banyak diberi peluang untuk beraksi. Beliau menjaringkan gol sulungnya dalam saingan liga pada perlawanan terakhir liga menetnang Boavista yang berkesudahan Porto meraih kemenangan 4-0. Beliau turut beraksi dalam perlawanan akhir Taça de Portugal menentang Braga pada 22 Mei. Beliau membantu Porto untuk menyamakan kedudukan 2-2 dengan menjaringkan kedua-dua gol Porto selepas mereka ketinggalan 2-0. Di samping itu, beliau menjaringkan gol menarik iaitu sepakan gunting saat beliau menyumbat gol kedua Porto pada lewat permainan. Namun, Porto tewas dalam penentuan penalti 4-2.
Silva memulakan musim 2016-17 dengan baik. Beliau menjaringkan gol pada perlawanan liga menentang Rio Ave dan Estoril. Selain itu, Silva turut menjaringkan gol pada perlawanan play-off Liga Juara-Juara menentang Roma yang berkesudahan seri 1-1. Pada 21 Ogos 2016, beliau menandatangani kontrak lima tahun termasuk klausa pelepasan sebanyak 60 juta euro.[1]
Milan
Pada 12 Jun 2017, Silva melakukan perpindahan yang menelan kos sebanyak 38 juta euro ke kelab Itali, Milan dengan menandatangani kontrak lima tahun.[2] Beliau diberi jersi nombor 9 yang sebelumnya dipakai oleh Gianluca Lapadula.[3]
Silva melakukan penampilan sulungnya untuk Milan pada 27 Julai dengan beraksi selama 24 minit pada perlawanan menentang CS Universitatea Craiova dalam aksi pusingan ketiga kelayakanLiga Europa yang berkesudahan Milan mencatat kemenangan 1-0.[4] Pada 17 Ogos, dalam pusingan play-off Liga Europa, beliau menjaringkan dua gol dan membantu satu jaringan ketika menentang KF Shkëndija yang menyaksikan Milan meraih kemenangan 6-0. Pada 14 September, beliau menjaringkan hatrik dalam peringkat kumpulan menentang Austria Wien yang berkesudahan Milan menang 5-1.[5] Dalam proses, beliau merupakan pemain pertama menjaringkan hatrik untuk Milan dalam kejohanan Eropah setelah Kaká pada tahun 2006.[6] Hasil persembahang cemerlang Silva, beliau dipilih ke dalam Pasukan Terbaik Mingguan Liga Europa.[7]
Kerjaya antarabangsa
Silva mewakili Portugall di dalam setiap peringkat umur. Beliau bersama pasukan bawah-20 mengambil bahagian dalam Piala Dunia B-20 2015 dan beliau telah menjaringkan empat gol dalam peringkat kumpulan.[8] Portugal hanya sekadar melangkah ke peringkat suku akhir.[9][10] Dahulunya dalam kejohanan Eropah bawah-19 2014, beliau merupakan pemain pertama menjaringkan empat gol dalam satu perlawanan (ketika menewaskan Hungary 6–1). Portugal akhirnya menjadi naib juara dalam kejohanan tersebut.[11]
Pada 8 September 2015, dalam kemunculan sulungnya untuk pasukan bawah-21, Silva menjaringkan hatrik dalam masa 19 minit (dalam kedua-dua babak permainan) ketika menentang Albania dalam kelayakan Kejohanan Eropah bawah-21 2017. Beliau menerima panggilan pertama skuad senior oleh ketua jurulatih Fernando Santos pada 26 Ogos.[12] Pada 1 September, beliau beraksi pada babak kedua untuk pasukan senior Portugal dalam perlawanan persahabatan menentang Gibraltar.[13]
Silva mencetak gol sulungnya untuk pasukan kebangsaan Portugal pada 7 Oktober 2016 ketika menewaskan Andorra dalam aksi kelayakan Piala Dunia 2018.[14] Tiga hari berikut, dalam aksi sama, beliau menjaringkan tiga gol pada babak pertama ketika menewaskan Kepulauan Faroe.
Silva dipilih ke skuad Piala Konfederasi 2017 sekali gus menjadikan kejohanan sulungnya untuk pasukan senior Portugal. Beliau melakukan penampilan pertamanya dalam kejohanan tersebut apabila beliau menggantikan Ricardo Quaresma ketika permainan berbaki lapan minit saat menentang Mexico yang berkesudahan seri 2-2.[15] Beliau menjaringkan gol pertamanya dalam kejohanan tersebut pada 24 Jun dengan beraksi hingga wisel penamat menentang New Zealand yang berkesudahan Portugal menang 4-0.[16] Dalam perlawanan penentuan temapt ketiga, Silva gagal menyudahkan tendangan penaltinya apabila berjaya diselamatkan oleh Guillermo Ochoa, namun pasukannya akhirnya mengecewakan Mexico 2-1 selepas masa tambahan.[17]