Pedro werd in 2007 opgenomen in de jeugdopleiding van Flamengo, dat hem in 2011 weer liet gaan. Hij speelde daarna een aantal jaar bij Duquecaxiense en Artsul, waarna hij in 2014 werd opgenomen in de jeugdopleiding van Fluminense. Hiervoor debuteerde hij op 28 juni 2016 in de Série A. Hij viel die dag in de 83e minuut in voor Richarlison tijdens een met 1–2 gewonnen wedstrijd uit bij Flamengo. Na een paar jaar waarin hij het vooral van invalbeurten moest hebben, ontwikkelde Pedro zich in 2018 tot basisspeler bij Fluminense. De CBF verkoos hem na afloop van dat seizoen tot beste nieuwe speler van het jaar.
Pedro verruilde Fluminense in september 2019 voor Fiorentina. Een kleine vier maanden en vier invalbeurten later keerde hij al terug naar Brazilië. Flamengo nam hem eerst een jaar op huurbasis over en legde daarna 15 miljoen euro neer om hem definitief over te nemen. Pedro ging bij de Braziliaanse club een aanval vormen met onder anderen Gabriel Barbosa en Bruno Henrique. Hij debuteerde tijdens de eerste wedstrijd om de Recopa Sudamericana van 2020 en scoorde meteen. Hij speelde in zijn eerste seizoen bij Flamengo 34 competitiewedstrijden en werd dat jaar voor het eerst in zijn carrière landskampioen. Pedro won in 2022 zowel de Copa do Brasil als de Copa Libertadores met Flamengo. Met twaalf doelpunten in dertien wedstrijden werd hij dat seizoen ook topscorer in de Copa Libertadores en won hij de verkiezing voor beste speler van het toernooi. Hij scoorde onder meer vier keer in de achtste finale tegen Deportes Tolima, een keer in de kwartfinale tegen Corinthians en vier keer in de halve finale tegen Vélez Sarsfield.
Pedro debuteerde op 14 november 2020 in het Braziliaans voetbalelftal. Bondscoach Tite liet hem toen in de 76e minuut invallen voor Richarlison tijdens een met 1–0 gewonnen WK-kwalificatiewedstrijd tegen Venezuela. Hij moest daarna tot september 2022 wachten op zijn tweede oproep voor het nationale team. Tite nam Pedro in november 2022 mee naar het WK 2022. Hierop mocht hij twee keer invallen, in een groepswedstrijd tegen Kameroen en in de kwartfinale tegen Kroatië.