Antes de se tornar profissional, André Silva jogou maioritariamente no Salgueiros, tendo passado também pelo Boavista e pelo Padroense, antes de rumar às camadas jovens do Porto em 2011.
Porto
Estreou como profissional no dia 12 de agosto de 2013, numa vitória por 3–2 sobre o Beira-Mar.[2] Marcou seu primeiro gol pelo Porto B no dia 21 de agosto, na vitória por 1–0 sobre o Portimonense. Terminou a temporada 2013–14 com três gols em 20 jogos.
André Silva terminou sua segunda temporada com sete gols em 35 jogos, ajudando o Porto B a ocupar a 13ª posição da Segunda Liga. No dia 21 de novembro de 2014, renovou com o Porto até junho de 2019, com cláusula de rescisão de 25 milhões de euros.[3][4]
Já no dia 29 de dezembro de 2015 estreou pela equipe principal do Porto, na derrota por 3 a 1 para o Marítimo pela Taça da Liga.[5][6] Marcou seu primeiro gol pela equipe principal em 14 de maio de 2016, na goleada por 4–0 sobre o Boavista pela última rodada da Liga NOS.[7]
No dia 21 de agosto, renovou seu contrato com o Porto até 2021, com cláusula de rescisão de 60 milhões de euros.[8][9]
Milan
Em 12 de junho de 2017, o Porto confirmou a venda de André Silva ao Milan por 38 milhões de euros. A transferência poderia chegar a 40 milhões, dependendo de variáveis.[10] O jogador assinou com a equipe italiana até 30 de junho de 2022.[11]
Sevilla
No dia 11 de agosto de 2018, André Silva foi oficializado como reforço do Sevilla por empréstimo de uma temporada com opção de compra.[12] No dia 12 de agosto, estreou oficialmente contra o Barcelona em duelo válido pela Supercopa da Espanha, torneio vencido pelo clube catalão.[13] Já no dia 19 de agosto, realizou sua primeira partida pela La Liga, contra o Rayo Vallecano, marcando três gols na vitória por 4–1.[14] Ele igualou um feito do brasileiro Romário, que em 1993 marcou um hat-trick em sua estreia no Campeonato Espanhol.[15]
Eintracht Frankfurt
No dia 2 de setembro de 2019 foi anunciado pelo Eintracht Frankfurt, em um empréstimo de dois anos, em uma troca com o Milan, na qual lhe foi cedido o atacante croata Ante Rebić, também por empréstimo.[16] Em 10 de setembro de 2020, Silva foi contratado em definitivo pelo clube alemão, assinando um contrato de três anos.[17]
Foi convocado pela primeira vez para a Seleção principal no dia 26 de agosto de 2016, sendo chamado pelo treinadorFernando Santos para os jogos com Gibraltar e Suíça.[19][20] Estreou por Portugal no dia 1 de setembro, na goleada por 5–0 sobre Gibraltar,[21] em que usou a camisa 7 de Cristiano Ronaldo.[22]
André Silva marcou seu primeiro gol pela Seleção no dia 7 de outubro, na goleada por 6–0 sobre Andorra, em jogo válido pelas Eliminatórias da Copa do Mundo de 2018.[23] O atacante teve grande atuação e marcou um hat-trick três dias depois, em mais uma goleada por 6–0, dessa vez sobre as Ilhas Faroé.[24][25] Com o feito realizado, tornou-se o jogador mais jovem a conseguir marcar três gols pela Seleção Portuguesa, aos 20 anos e 340 dias.[26]
Copa das Confederações de 2017
Em junho de 2017, esteve na lista dos convocados para a disputa da Copa das Confederações na Rússia.[27] Na estreia contra o México, no dia 18 de junho, André Silva entrou no segundo tempo e viu sua equipe empatar em 2–2.[28] Marcou um gol na vitória por 4–0 sobre a Nova Zelândia, pela terceira rodada do grupo A e se classificou às semifinais do torneio.[29]
Nas semifinais do torneio, Portugal perdeu nos pênaltis para o Chile por 3–0[30] e venceu o México por 2–1 na disputa pelo terceiro lugar.[31]