Inizia la sua carriera calcistica come centrocampista offensivo, per poi trasformarsi in punta pura[2], distinguendosi per le capacità fisiche e tecniche oltre alla velocità.[3] Paragonato dalla stampa al connazionale Cristiano Ronaldo, quest'ultimo lo ha indicato come possibile erede.[4][5]
Carriera
Club
Porto
Appena maggiorenne esordisce con la seconda squadra del Porto in cui colleziona, fino al 2015, 56 presenze e 10 reti.[1][6] A vent'anni debutta inoltre con la formazione maggiore, raccogliendo 9 apparizioni, condite da un gol, nel campionato d'esordio.[1] Il 17 agosto 2016, alla prima gara in Champions League, realizza un rigore che vale il pareggio contro la Roma.[7] Durante la fase a gironi è invece autore di gol decisivi nella doppia sfida con il Club Brugge[8][9], oltre a marcare una doppietta nel 5-0 sul Leicester.[10]
In campionato mette a segno 16 reti in 32 gare, contribuendo al secondo posto dei Dragoni.[2]
Milan e prestito al Siviglia
Le prestazioni nel calcio lusitano gli valgono la chiamata del Milan,[11] che lo acquista il 12 giugno 2017 per quasi 35 milioni di euro.[12] Esordisce con i rossoneri il 27 luglio, in occasione del preliminare di Europa League con l'Universitatea Craiova[13]; tre settimane più tardi, nella medesima competizione, realizza i primi gol con la nuova squadra, mettendo a referto una doppietta contro lo Škendija (battuto per 6-0).[14] Il 20 agosto compie il suo esordio in Serie A, subentrando a Cutrone nell'ultima mezz'ora di Crotone-Milan (0-3).[15] Con la formazione meneghina il giovane attaccante risulta prolifico soprattutto in ambito continentale[16], eguagliando Virdis per numero di gol nel torneo con 8 centri.[17][18] Il portoghese ottiene invece un minor utilizzo in campionato, dove fa registrare 2 reti in 24 presenze.[19]
Per la stagione 2018-19 è ceduto in prestito al Siviglia[20][21], formazione con cui, dopo un buon avvio,[22][23] palesa un calo di rendimento, tanto da indurre la società andalusa a non riscattarlo.[24][25]
Eintracht Francoforte
Rientrato al Milan[26], viene poi girato all'Eintracht Francoforte[27][28][29], rendendosi protagonista di un buon avvio di campionato.[30] Il 10 settembre 2020 viene acquistato a titolo definitivo dal club tedesco per 9 milioni di euro[31], con cui firma un contratto fino al 30 giugno 2023.[32][33] Nella prima stagione colleziona 16 gol in 37 presenze.
Nella stagione 2020-2021 mette insieme 29 gol e 10 assist in 34 partite tra tutte le competizioni.
Il 20 agosto successivo mette a segno la sua prima rete con la maglia del Lipsia, siglando il gol del definitivo 4-0 con cui i padroni di casa si impongono sullo Stoccarda.[37]. Il 19 ottobre segna la sua prima rete in UEFA Champions League con la squadra tedesca, nella partita in casa del Paris Saint Germain, persa per 3-2, in cui realizza il gol del momentaneo 1-1.[38]
Il 2 agosto 2023 viene ufficializzato il suo passaggio alla Real Sociedad in prestito annuale con diritto di riscatto.[39][40]
Presente anche alla rassegna iridata, in cui disputa tre incontri senza andare a segno, è invece decisivo con 3 gol nella prima fase della Nations League.[47][48]
Nel 2021 viene convocato per l'Europeo,[49] dove colleziona tre presenze senza andare in gol.
^UFFICIALE: André Silva è rossonero, su acmilan.com, 12 giugno 2017. URL consultato il 27 gennaio 2021 (archiviato dall'url originale il 28 luglio 2017).