Capixaba de Vitória, iniciou sua trajetória no futebol de maneira prematura, aos quatro anos de idade em uma escolinha do Atlético Mineiro, localizada na cidade de Vitória, no Espírito Santo. Destaque nos campeonatos locais, aos dez anos despertou a atenção de olheiros do São Paulo, que por não poder aloja-lo nas dependências do clube pela sua idade, afirmou uma espécie de vinculo até que ele completasse treze anos e pudesse ir para a capital paulista. Pedro também teve um passagem pela escolinha do Santos de Aribiri, onde foi campeão da famosa Copa A Gazetinha. Aos treze anos chegou a ir para o São Paulo, mas não conseguiu acertar sua permanência, tendo que retornar para o seu estado natal.
Diadema
Na capital capixaba, Pedro Rocha jogava por clubes amadores e sempre se destacava em campeonatos locais, até que em 2011, aos dezessete anos foi descoberto pelo Diadema, onde teve bom desempenho.
Juventus
Em 2011, foi emprestado ao Juventus, em parceria com o Diadema, onde começou no banco de reservas das categorias de base e em curto espaço de tempo ele obteve as titularidades da base e em seguida do profissional, ganhando projeção após marcar 18 gols no Campeonato Paulista de Futebol - Sub-20 de 2012, na Copa São Paulo de Futebol Júnior de 2012, Pedro balançou as redes seis vezes. E despertou a atenção do Grêmio nas oitavas de final, quando o time gaúcho eliminou o Juventus. Sua estreia profissionalmente ocorreu em 20 de março de 2013, com uma vitória fora de casa do Campeonato Paulista Série A2 por 3 a 2 contra o Santo André.
Grêmio
Base
Em 12 de março de 2014, Pedro foi para o Grêmio, de Porto Alegre por empréstimo após retornar para o Clube Atlético Diadema, onde de imediato foi integrado ao elenco sub-20. No final de 2014, seu bom desempenho no Brasileirão Sub-20 o credenciou a participar da pré-temporada com o grupo principal de 2015, com Felipão.[2]
Profissional
Em 07 janeiro de 2015, o Grêmio exerceu sua preferência de compra e adquiriu em definitivo parte do passe de Pedro Rocha para que pudesse aproveitá-lo no elenco profissional.[3] Sua estreia como profissional foi em 14 de fevereiro de 2015 no confronto entre Grêmio e Veranópolis, válido pela quinta rodada do Gauchão de 2015. O atleta entrou no início do segundo tempo substituindo Everton na partida em que o Grêmio foi derrotado por 1–0.[4] Seu primeiro gol como profissional veio na partida seguinte, onde iniciou a partida contra o Passo Fundo, pela sexta rodada do Gauchão de 2015. O gol de Pedro Rocha foi marcado aos 5 minutos do segundo tempo e o Grêmio venceu por 2–0.[5]
Com a chegada do técnico Roger Machado ao Grêmio, Pedro Rocha consolidou-se como titular, atuando como ponta-esquerda. Jogando nesta posição, marcou o gol mais rápido do Brasileirão 2015, quando aproveitando uma falha da zaga anotou aos 37 segundos de jogo, em partida vencida pelo Grêmio pelo placar de 2–1 sobre o Avaí, no estádio da Ressacada, em 1 de julho de 2015.
Em março de 2016, depois de um período no banco de reservas, voltou a ser escalado entre os titulares de Roger Machado. Aproveitando as chances, balançou as redes em três jogos consecutivos entre 20 e 30 de março. Pedro Rocha marcou na vitória por 2–1 sobre o Ypiranga de Erechim; no 3–0 contra o Lajeadense e na goleada por 5–1 contra o Passo Fundo - todas partidas válidas pelo Campeonato Gaúcho de 2016. O jogador foi o segundo da era Roger a balançar a rede em três jogos consecutivos - o garoto Lincoln foi o primeiro.
No dia 23 de novembro de 2016, Pedro Rocha anotou dois gols na vitória do Grêmio por 3–1 sobre o Atlético Mineiro, no Mineirão, pela partida de ida da final da Copa do Brasil de 2016. Pedro marcou os dois primeiros gols da partida, deixando o placar em 2–0 para o time gaúcho. Driblou o zagueiro atleticano Gabriel antes de fazer o primeiro gol, já no segundo, passou por três jogadores atleticanos antes de colocar a bola no canto direito do goleiro Victor, em gol similar ao primeiro de Renato Gaúcho na final da Copa Intercontinental de 1983. Entretanto, recebeu cartão amarelo por tirar a camisa durante a comemoração de um dos gols, e posteriormente acabou sendo expulso por receber o segundo cartão amarelo. A partida teve ainda dois gols, Gabriel, zagueiro do Atlético descontou para os mineiros e Everton marcou o terceiro do Grêmio, dando números finais a partida.
Para renovar com o Grêmio pela temporada de 2017, Pedro Rocha recebeu valorização salarial e rejeitou propostas de clubes europeus, como o Olympique de Marseille e o Hoffenheim.[6]
No dia 30 de agosto de 2017, o Grêmio anunciou a venda de 100% dos direitos econômicos e federativos de Pedro Rocha para o Spartak Moscou por 12 milhões de Euros.[7] Transferência que terminaria apenas nos tribunais quando o Grêmio foi condenado a pagar 30% do valor ao Clube Atlético Diadema em 2019 [1], uma vez que embolsou o valor em sua totalidade, sendo que teria direito há apenas 70% da cota. Entre negociação das diretorias dos clubes envolvidos, o Grêmio conseguiu reduzir os valores de 11,5 para 10 milhões em reais[2].
Cruzeiro
Em 2 de abril de 2019, o Cruzeiro anunciou a contratação do jogador por empréstimo até o fim do ano.
Marcou seu primeiro gol com a camisa celeste, na derrota por 3-1 para o Flamengo, pela 1° rodada do Brasileirão de 2019.
Flamengo
No dia 16 de dezembro de 2019, Paulo Pelaipe, dirigente do Flamengo, confirmou a assinatura do contrato do atacante Pedro Rocha com o Flamengo para a temporada de 2020. O Rubro-Negro definiu os detalhes pendentes do empréstimo com opção de compra do atacante junto ao clube russo. No dia 24 de dezembro de 2019, foi anunciado oficialmente pelo Flamengo.[8]
Retorno ao Spartak Moscou
Em 25 de fevereiro de 2021, Pedro Rocha se viu na ''lista b'', depois do Spartak Moscou ter ultrapassado o limite de estrangeiros inscritos por equipe permitido pelo regulamento do Campeonato Russo.[9]