Пётр Михайлович Гаврилов родился весной 1918 года. Вступил добровольцем в Красную Армию, воевал на Восточном фронте против войск Колчака, затем против войск Деникина и повстанцев на Северном Кавказе.
После окончания Гражданской войны остался в Красной армии.
В 1922 году вступил в РКП(б).
В сентябре 1925 года окончил Владикавказскую пехотную школу; женился и усыновил мальчика-сироту.
1939 г. — окончил Военную академию имени Фрунзе.
В звании майора назначен командиром 44-го стрелкового полка.
Участник Финской кампании 1939—1940 годов. По окончании войны его полк переводится в Западную Белоруссию, с мая 1941 года дислоцируется в Бресте.
После нападения немцев на крепость возглавил группу бойцов из 1-го батальона своего полка и мелких разрозненных подразделений 333-го и 125-го стрелковых полков, во главе которой сражался на валу у Северных ворот Кобринского укрепления; затем возглавлял гарнизон Восточного форта, где с 24 июня сосредоточились все защитники Кобринского укрепления. Всего у Гаврилова было около 400 человек с двумя зенитными орудиями, несколькими 45-мм пушками и четырёхствольным зенитным пулемётом.
Вечером 29 июня 1941 года после бомбардировки Восточного форта (одна из бомб весом в 1,8 тонны угодила во внутреннюю подкову форта и, возможно, явилась причиной подрыва склада боеприпасов защитников), Гаврилов с остатками своей группы (12 человек с четырьмя пулемётами) укрывается в казематах. Несколько дней группа совершала вылазки, пока не была рассеяна.
Оставшись один, 23 июля тяжело раненным попадает в плен.
Дата и обстоятельства последнего боя Гаврилова записаны с его слов, причем очень различаются в разных источниках.
По описанию лечившего его в госпитале доктора Вороновича: «…пленный майор был в полной командирской форме, но вся одежда его превратилась в лохмотья, лицо было покрыто пороховой копотью и пылью и обросло бородой. Он был ранен, находился в бессознательном состоянии и выглядел истощённым до крайности. Это был в полном смысле слова скелет, обтянутый кожей. До какой степени дошло истощение, можно было судить по тому, что пленный не мог даже сделать глотательного движения: у него не хватало на это сил, и врачам пришлось применить искусственное питание, чтобы спасти ему жизнь. Но немецкие солдаты, которые взяли его в плен и привезли в лагерь, рассказали врачам, что этот человек, в чьём теле уже едва-едва теплилась жизнь, всего час тому назад, когда они застигли его в одном из казематов крепости, в одиночку принял с ними бой, бросал гранаты, стрелял из пистолета и убил и ранил нескольких гитлеровцев.»
Содержался в лагерях Хаммельбург и Равенсбрюк до мая 1945 года.
После освобождения из плена исключён из ВКП(б) за утрату партбилета.
Воссстановлен в прежнем воинском звании, осенью 1945 года он был назначен начальником советского лагеря для японских военнопленных в Сибири
После увольнения в отставку в связи с сокращением вооруженных сил уехал в Татарскую АССР, а затем в Краснодар, где нашёл жену и сына, с которыми не виделся с первого дня войны.
После выхода на радио в 1955 году цикла передач под названием «В поисках героев Брестской крепости», их автором — Сергеем Смирновым — в 1956 году была написана, и в 1957 году издана книга «Брестская крепость». Благодаря этому восстановил членство в КПСС и был представлен к награде.
Указом Президиума Верховного Совета СССР от 30 января 1957 года за образцовое выполнение воинского долга при обороне Брестской крепости и проявленные при этом мужество и героизм Гаврилову Пётру Михайловичу присвоено звание Героя Советского Союза с вручением ордена Ленина и медали «Золотая Звезда» (№ 10807).
Совершил ряд поездок по СССР, активно занимался общественной работой.
С 1968 года до конца жизни жил в Краснодаре в доме 103 на Светлой улице.
Умер в Краснодаре 26 января 1979 г, похоронен с воинскими почестями на Гарнизонном мемориальном кладбище Бреста.
Герой Советского Союза (1957).