Михаил Петрович Петров родился в деревне Старые Шарашлы ныне Бакалинского района Башкортостана в семье крестьянина. Татарин. Член КПСС с 1929 года. Окончил начальную школу. Работал телеграфистом.
В Советской Армии с 1926 года.
На фронтах Великой Отечественной войны с ноября 1941 года. В 1944 году окончил курсы «Выстрел».
Командир 364-го стрелкового полка (139-я стрелковая дивизия, 50-я армия, 2-й Белорусский фронт) подполковник Петров умело руководил подразделениями полка в июньском наступлении 1944 года. Взломав оборону противника, полк 24 — 26 июня форсировал реки Проня, Басы, Реста и в ночь на 28 июня 1944 года — Днепр южнее города Могилёв, освободил свыше 215 населённых пунктов, отрезал пути отхода на запад окружённой группировке противника.
Звание Героя Советского Союза присвоено 24 марта 1945 года.
После войны продолжал службу в армии. В 1949 году окончил Ленинградскую высшую бронетанковую школу. С 1954 года полковник Петров — в запасе.
Жил и работал в Виннице.
Умер 5 августа 1967 года.