Родился 2 (15) ноября 1904 года в Усть-Медведицкой области Войска Донского. Его отец, Михаил Петрович Попов, был сыном надворного советника, одно время служившего исправником в городах Новоржеве и Порхове Псковской губернии. По окончании Московского университета в 1900 году Михаил Петрович Попов женился на Марии Алексеевне Соловской, дочери секретаря уездного Новоржевского дворянского собрания. В 1925 году окончил Стрелково-тактические курсы усовершенствования комсостава РККА имени III Коминтерна «Выстрел», в 1936 году - Военную академию имени М. В. Фрунзе,
В Красной Армии с 6 мая 1920 года, служил красноармейцем 242-го Волжского полка 27-й стрелковой дивизии, с 18 февраля 1921 года — политруком 6-го ротного участка Псковского территориального полка. 16 июня 1921 года был направлен на учёбу, и в октябре этого года окончил 74-е пехотные Псковские курсы. С 15 октября 1922 года служил в 11-й Петроградской стрелковой дивизии: помощник командира взвода сводной роты 33-го стрелкового полка, с 22 ноября 1922г. — командир взвода учебной роты XI дивизионной школы, с 2 января 1924г. — помощник командира учебной роты XI дивизионной школы, с 5 октября 1924г. — помощник начальника полковой школы 33-го стрелкового полка, с 25 февраля 1926г. — начальник полковой школы 33-го стрелкового полка, с 1 октября 1927г. — командир 2-го батальона 31-го стрелкового имени Урицкого полка, с 1 октября 1928г. — преподаватель Школы переподготовки командиров запаса РККА при 33-м стрелковом полку. С 1 октября 1929г. - преподавал тактику в Ленинградской пехотной школе. С января 1930г. - начальник штаба моторизованного отряда 11-й стрелковой дивизии. С 17 ноября 1931г. по апрель 1932г. - исполнял должность инспектора моторизации корпуса военно-учебных заведений Московского военного округа. С мая 1936г. — начальник штаба 9-й отдельной механизированной бригады Ленинградского военного округа. С июля 1937 года — начальник штаба 5-го механизированного корпуса (Московский военный округ). С января 1938г. -состоял для особых поручений при начальнике Управления по командному и начальствующему составу РККА. С июня 1938г. — заместитель командующего 1-й Краснознамённой армией на Дальнем Востоке. С сентября 1938г. — начальник штаба 1-й Отдельной Краснознамённой армии. С июля 1939г. по январь 1941г. — командующий 1-й Отдельной Краснознамённой армией. С января 1941г. - командующий войсками Ленинградского военного округа. С 24 июня по 27 августа 1941 — командующий войсками Северного фронта. С 27 августа по 5 сентября 1941г. — командующий войсками Ленинградского фронта. С 18 декабря 1941г. по 28 июня 1942г. с небольшим перерывом (30 января — 11 февраля 1942 года) — командовал войсками 61-й армии на Юго-Западном и Брянском фронтах. С 28 июня по 3 июля 1942г. — командующий 48-й армией Брянского фронта. С 3 июля 1942г. - командующий войсками 40-й армии Брянского фронта. С 13 октября 1942г. — заместитель командующего войсками Сталинградского фронта. 8 декабря 1942г. - командующий 5-й ударной армии. С 26 декабря 1942г. - заместитель командующего Юго-Западным фронтом. При этом 28 декабря ему поручают командование 5-й танковой армией Юго-Западного фронт с оставлением должности заместителя командующего фронтом. С января 1943г. - в резерве Ставки. Январь—апрель 1943г. — командующий войсками оперативной группы Юго-Западного фронта. С 10 апреля по 15 апреля 1943г. — командующий войсками Резервного фронта 3-го формирования. 15 апреля того же года Резервный фронт переименовали в Степной военный округ. С 5 июня по 10 октября 1943г. — командующий войсками Брянского фронта. С 10 октября 1943г. по 23 апреля 1944г. — командующий войсками Прибалтийского фронта (20 октября 1943 года Прибалтийский фронт был переименован во 2-й Прибалтийский фронт). 20 апреля 1944 года постановлением ГКО от 20 апреля 1944 года № ГКО-5689сс М. М. Попов был снят с должности командующего 2-м Прибалтийским фронтом и понижен в звании с генерала армии до генерал-полковника. С 23 апреля 1944г. - начальник штаба Ленинградского фронта. С 4 по 9 февраля 1945г. - командующий 2-м Прибалтийским фронтом. В марте 1945 года короткое время исполнял должность начальника штаба 2-го Прибалтийского фронта. Затем вновь руководил штабом Ленинградского фронта до конца войны. С 24 июля 1945г. командующий войсками Львовского военного округа, с 4 июня 1946 года — войсками Таврического военного округа. 3 августа 1953 года Попову М. М. было вторично присвоено воинское звание генерал армии. С января 1955г. — заместитель начальника, с июня 1956г. — начальник Главного управления боевой подготовки Сухопутных войск, с августа 1956г. — начальник Главного штаба — 1-й заместитель главнокомандующего Сухопутными войсками. С июля 1962г. — военный инспектор—советник Группы Генеральных инспекторов Министерства обороны СССР.
Генерал армии (1953г.). Герой Советского Союза (1965г.). Депутат Верховного Совета СССР 2—6-го созывов.
Погиб 22 апреля 1969 года от отравления бытовым газом на даче вместе с женой Серафимой Алексеевной. Похоронен на Новодевичьем кладбище Москвы.