Павел Гаврилович Петров родился в деревне Мальцево Томской губернии, ныне Юргинского района Кемеровской области, в семье крестьянина. Русский.
Работал в деревне, затем в городе Кузнецк.
В 1924 году окончил курсы при Томской советской партийной школе.
В Красной Армии с 1924 года. В 1927 году окончил Омскую пехотную школу. Член ВКП(б)/КПСС с 1937 года.
На фронтах Великой Отечественной войны с июня 1941 года. Заместитель командира 120-й гвардейской стрелковой дивизии (3-я армия, 2-й Белорусский фронт) гвардии полковник Петров умело организовал стремительное преследование противника. 27 июля 1944 года во главе группы танков и самоходных орудий с десантами ворвался в город Белосток (Польша) и вместе с другими частями очистил его от гитлеровцев.
В бою был тяжело ранен и умер 27 августа 1944 года.
Похоронен на территории городского парка города Дятлово Гродненской области Белоруссии в братской могиле, вместе с командиром 120-й гвардейской Рогачевской стрелковой дивизии — генерал-майором Фогелем Я. Я.