Петр Иванович Гаврилов родился 8 октября (по другим данным – в январе) 1925 года в селе Иванцево Белозерского уезда Череповецкой губернии (сейчас – Череповецкий район).
После окончания школы-восьмилетки работал в колхозе. С началом Великой Отечественной войны несколько раз просился на фронт добровольцем, но не подходил по возрасту. Однако в 1942 году его призвали в армию и направили в военное училище: Гаврилов стал курсантом учебного стрелкового полка.
В августе 1943 года Петр Гаврилов был зачислен в 1024-й стрелковый полк 391-й стрелковой дивизии 1-й ударной армии Северо-Западного фронта. В составе полка участвовал в боях под Старой Руссой.
В ноябре 1943 года фронт был расформирован, и 391-я дивизия передана в состав 6-й гвардейской армии 2-го Прибалтийского фронта. 8 декабря 1943 года сержант Гаврилов был ранен, но быстро вернулся в строй и уже зимой и весной в составе 22-й армии участвовал в Старорусско-Новоржевской наступательной операции. Вскоре после этого Петр Гаврилов стал командиром 1-го отделения 1-го взвода 4-й стрелковой роты 1024-го стрелкового полка, а позднее – комсоргом роты.
В начале лета 1944 года дивизия Гаврилова была передана 3-й ударной армии и приняла участие в Режицко-Двинской операции. 17 июля рота получила приказ форсировать реку Зилупе (Латвия) и прорвать немецкую оборону на западном берегу.
Когда движение роты было остановлено сильным пулеметным огнем, Петр Гаврилов со связкой гранат скрытно подобрался к позициям противника. Он уничтожил огневую точку немцев и, обойдя вражеские позиции с тыла и забросал их гранатами. Враги в панике бежали, что позволило роте переправиться через реку и занять немецкие укрепления.
Во время сражения 18 июля 1943 года рота попала в засаду, но Гаврилов первым поднялся в атаку и увлек за собой других бойцов. Когда в рукопашной был ранен командир взвода, Петр Гаврилов принял на себя командование. Под его руководством взвод овладел населенным пунктом Лаудери и перерезал шоссе, ведущее на Режицу (сейчас – латвийский город Резекне) и отразил там три атаки неприятеля, уничтожив 132 вражеских солдата. В этом бою Гаврилов был дважды ранен, но продолжал бой.
21 июля 1943 года отделение сержанта Гаврилова было в разведке и попало в засаду. В этом бою Петр Гаврилов был тяжело ранен в голову и отправлен в госпиталь. На фронт он уже не вернулся.
24 марта Петру Ивановичу Гаврилову было присвоено звание Героя Советского Союза с вручением медали «Золотая Звезда» и Ордена Ленина.
Помимо этого Петр Гаврилов был награжден:
После демобилизации в 1945 году Петр Иванович Гаврилов поселился в Риге, где работал инспектором таможни в Рижском порту. Также он два года провел в ГДР, где помогал организовывать работу таможенной службы.
Петр Иванович Гаврилов скончался 9 мая (по другим данным – 13 мая) 1966 года в 41 год от последствий военных ранений. Похоронен в Риге на кладбище Микеля.
Фото с сайта moypolk.ru