Михаил Захарович Петров родился на хуторе Советский, ныне посёлок Волгодонский Калачёвского района Волгоградской области, в семье крестьянина. Русский. Член КПСС. Окончил 7 классов школы.
Работал токарем на заводе «Баррикады» в Сталинграде.
В Советской Армии с 1941 года. Окончил Камышинское танковое училище в 1942 году.
На фронте в Великую Отечественную войну с 1943 года. Командир роты 237-й танковой бригады (5-я гвардейская армия, 1-й Украинский фронт) лейтенант Петров в числе первых 8 августа 1944 года форсировал Вислу. 9 августа 1944 года под городом Тарнув (Польша) рота прорвала вражескую оборону, уничтожила несколько огневых точек, много живой силы и техники противника. Погиб в горящем танке в этом бою.
Звание Героя Советского Союза присвоено 23 сентября 1944 года посмертно.