Родился 20 июля 1914 года в деревне Марковская Макарьевского уезда Костромской губернии (ныне Сокольского района Нижегородской области) в семье крестьянина. Русский.
Образование начальное. Работал мотористом, механиком на судах Волжского пароходства. Служил в РККА в 1936—1938 годах. В 1939 году был переведён в Васильсурск и назначен мотористом на катере Сурского технического участка пути.
Во время Великой Отечественной войны был призван в армию Воротынским райвоенкоматом в ноябре 1941 года. На фронте с марта 1942 года. Командир отделения мотористов 4-го моторизованного понтонно-мостового полка (47-я армия, 1-й Белорусский фронт) старший сержант Петров отличился при наводке понтонного моста через реку Одер 10—14 апреля 1945 в районе населённого пункта Целлин (северо-западнее г. Костшин, Польша).
При форсировании Одера ему было приказано: катером подвести собранные паромы к месту переправы. Осколками вражеских снарядов было пробито дно катера, вода начала заливать трюм. Петров заделал пробоины и откачав воду, продолжал выполнять задание. Во время очередного рейса вражеский снаряд разорвался рядом с катером. Тот был выведен из строя и его течением начало сносить в сторону противника.
Петров был тяжело ранен, но продолжал отдавать приказы. Был спущен якорь, и команда под огнём противника приступила к ремонту катера.
В тяжелом состоянии Петров был снят с катера и отправлен в медсанбат. Там он и скончался от ран 14 апреля 1945 года. Звание Героя Советского Союза присвоено 31 мая 1945 года.
Похоронен в городе Бервальд, (Германия, с 1945 года — город Мешковице в составе Польши).