Revelado pelo Coritiba, nos primeiros anos de sua carreira, Zé Roberto também jogou no Juventus-SP e Mirassol. Então, em 2000, foi parar no Cruzeiro, que ainda naquele ano emprestou-o ao Benfica, clube de prestígio em Portugal.
De volta ao Brasil, o Cruzeiro negociou seu passe com a Portuguesa, que logo repassou-o ao Vitória. E foi no Vitória, durante o Brasileirão 2002, que Zé Roberto conseguiu pela primeira vez um certo destaque nacional. Permaneceu no Leão baiano até 2004, quando foi vendido ao clube japonês Kashiwa Reysol, onde jogou por apenas um ano e retornou ao rubro-negro em 2005.
Ainda em 2005, assinou com o Botafogo. Seu contrato continha um cláusula que permitia ao contratante liberar o jogador caso houvesse alguma indisciplina. No alvinegro, Zé Roberto foi um dos maiores destaques da equipe que conquistou o Campeonato Carioca de 2006 e ainda foi indicado ao Prêmio Craque do Brasileirão no mesmo ano na posição de meia-direita.[1] Em 2007, foi peça fundamental do esquema tático do treinadorCuca, o chamado Carrossel Alvinegro, que foi campeão da Taça Rio.
Entretanto, problemas disciplinares que vieram à tona durante o Brasileirão de 2007,[2] resultaram no seu afastamento do grupo. Flagrado divertindo-se em uma boate de Salvador, após ter pedido licença por questões de saúde, Zé Roberto acabou vetado para o decisivo jogo contra o São Paulo, à época, os dois primeiros colocados do Campeonato Brasileiro. Derrotado naquele jogo, o Botafogo seguiu acumulando maus resultados e, com isso, Cuca solicitou à direção sua reintegração ao grupo.[3] Zé Roberto retornou, mas não conseguiu recolocar o Botafogo na briga pelo título nacional, apesar de boas atuações.
Em 2008, o nítido desgaste com o Botafogo resultou na sua transferência para o clube alemão Schalke 04. Sem conseguir se firmar na equipe alemã, no início de 2009 Zé Roberto seguiu emprestado ao Flamengo, onde foi um dos destaques do time campeão brasileiro do ano.
Após novamente não se firmar na sua volta ao Schalke 04, Zé Roberto rescindiu contrato com o clube alemão e acertou sua ida para o Vasco da Gama até julho de 2011.[4] Em 2011, Zé Roberto rescindiu seu contrato com o Vasco da Gama e acertou com o Internacional até 2013. Porém, em dezembro de 2011, Zé Roberto rescinde o contrato com o Inter e deixa o clube para ir ao Bahia.
Em 2015, foi contratado pelo Botafogo-SP.[7] Pelo Tricolor de Ribeirão, o meia de 34 anos fez 11 jogos e marcou duas vezes no Paulistão de 2015.
Aposentadoria
Zé Roberto, que defendeu o Botafogo-SP no Campeonato Paulista de 2015, explicou que a distância e o pouco contato com a família, principalmente a esposa e o filho de oito anos, pesaram em sua decisão.
Em Salvador, por telefone, Zé Roberto comentou ao Globo Esporte que a decisão está tomada e só terá outro rumo em caso de proposta "irrecusável" ou algo próximo de casa, que ele possa ver a família com mais frequência.[8]
“
Pretendo parar. Conversei com a minha esposa, e ela comentou que meu filho sente muita falta, e eu também sinto falta dele, de um passeio. Meu projeto é realmente parar para poder ficar com a minha família. Preciso ver o lado dela