Por votos 8 votos a 2, a Corte entendeu que o decreto é inconstitucional por desvio de finalidade de Bolsonaro para beneficiar Silveira.
O ex-deputado está preso desde fevereiro deste ano por descumprir regras da prisão domiciliar e fazer novos ataques ao Supremo.
No ano passado, Bolsonaro assinou um decreto concedendo graça constitucional à pena de Silveira, apoiador do então presidente e integrante da sua base na Câmara dos Deputados.
O decreto foi editado em 21 de abril, um dia após o parlamentar ter sido condenado pelo Supremo.
No julgamento, prevaleceu o voto proferido pela presidente da Corte e relatora dos processos, ministra Rosa Weber, para anular o benefício.
Seguiram o entendimento os ministros Alexandre de Moraes, Edson Fachin, Luís Roberto Barroso, Dias Toffoli, Cármen Lúcia, Luiz Fux e Gilmar Mendes.
Os ministros André Mendonça e Nunes Marques votaram para validar o indulto. Para eles, a Constituição concedeu ao presidente da República o poder de concessão de graça constitucional a condenados, medida que não poder ser revista pelo Judiciário.