Михаил Тимофеевич Романов родился 3 ноября 1891 года в Нижнем Новгороде. Русский. Его отец, Тимофей Федорович Романов, цеховой ремесленник, умер, когда сыну было 15 лет. К этому времени Михаил Романов отлично окончил городское училище. После смерти отца у него на руках осталась мать Анна Николаевна и младшая сестра Юлия. Для того, чтобы содержать семью, Романов стал работать ремесленником-надомником по пошивке фуражек для торговцев Сорокиных.
В 1915 году был призван в армию. Окончил Чистопольскую школу прапорщиков. Командовал ротой в составе 72-го полка в Ржеве, поручик. После февральской революции, уже на Западном фронте, выбран солдатами в полковой комитет. В Красной армии с 1918 года. Окончил пехотную командирскую школу. Полк, в котором Романов был начальником полковой школы, направлен на Восточный фронт, принимал участие в боях с колчаковцами. Участвовал в боевых действиях в Туркестане.
В должности помощника командира полка Романов участвовал в ряде операций, был ранен в голову. В госпитале с ним беседовал Михаил Васильевич Фрунзе. После выздоровления за проявленные в боях с басмачами незаурядные командирские способности и доблесть назначен командиром 11-го полка. После Гражданской войны Романов командовал 50-м стрелковым полком 17-й дивизии в Нижнем Новгороде, а потом 18-м полком в г. Ливны.
В 1939 году М. Т. Романов назначен командиром 185-й дивизии. В 1940 году получил звание генерал-майора, а после окончания шестимесячных курсов усовершенствования командного состава при Академии Генерального штаба назначен командиром 172-й стрелковой дивизии, сменив на этом посту, зачисленного в Академию Генерального штаба, полковника Крейзера. Командуя 172-й дивизией на днепровском рубеже в обороне Могилёва, Михаил Тимофеевич Романов заслужил вечную признательность русского народа.
Начало Великой Отечественной войны Михаил Тимофеевич встретил в должности командира 172-й стрелковой дивизии, накануне войны выехавшей для прохождения летней учёбы в Тесницкие лагеря под Тулой. Уже 26 июня первый эшелон дивизии отбыл на запад, с 28 июня по 3 июля части дивизии сосредоточивались в районе Могилева, совершенствовали оборонительные сооружения. Романов со своим штабом прибыл в район Могилева к исходу 31 июня. 5 июля 172 стрелковая дивизия Романова подчинена прибывшему из-под Орши штабу 61-го стрелкового корпуса генерал-майора Ф. А. Бакунина. В соответствии с указанием Бакунина, дивизия Романова заняла оборону по западному берегу Днепра. 7 июля штабом Западного фронта был отдан приказ о передаче в состав отходящей 13-й армии 61-го стрелкового корпуса с входящей в его состав 172-й стрелковой дивизией генерала Романова.
Несколькими днями ранее описываемых событий, 3 июля 1941 г., передовые отряды гитлеровцев вышли на дальние подступы к Могилеву. Разведотряды дивизий 61-го стрелкового корпуса завязали с ними бои, положив тем самым начало 23-дневной героической обороне. 5 июля 1941 г. передовые отряды 172-й дивизии генерала Романова встретили противника и сдерживали в течение дня 6 июля на рубеже р. Друть, в районе Белыничи, Запоточье, Олень. Переправу противника через р. Друть удалось предотвратить. 5—8 июля бои носили наиболее ожесточённый характер. Попытки танковых частей гитлеровцев с ходу захватить Могилев были сорваны стойким отпором наших войск. Противник понес большие потери в живой силе, подбитыми и сожженными танками. Гитлеровцам не удалось лобовой атакой сломить нашу оборону и после 8 июля в районе Могилева наступило небольшое временное затишье. 11 июля после продолжительной бомбардировки и обстрела из дальнобойных орудий, налетов авиации гитлеровцы начали сильное наступление на всем фронте 172-й дивизии генерала Романова. 11, 12 и 13 июля шли непрерывные бои на участках, обороняемых дивизией. Глубина нашей обороны была примерно до 25 км. Враг вклинился местами до 16 километров. Однако, используя резервы, умело маневрируя силами, генерал Романов организовал ряд контратак, в итоге которых враг был отброшен и линия обороны выровнена. С 13 июля гитлеровцы, форсировав Днепр южнее Быкова, стали расширять плацдарм в районе Сидоровичей. Враг понял, что наша оборона ослаблена, и решил отрезать части, находившиеся в самом Могилеве, от частей, оборонявшихся на станции Луполово. 14 июля части 24-го и 46-го танковых корпусов Гудериана, обойдя Могилев с двух сторон (46-й корпус — севернее, 24-й корпус — южнее Могилева), соединились в населённом пункте Чаусы, замыкая окружение. Части 172-й дивизии и один полк 110-й стрелковой дивизии оказались в тесном кольце, но продолжали ожесточенные, неравные бои. С 13 по 21 июля 172-я дивизия ежедневно по нескольку раз в день отражала атаки танков и пехоты противника на переднем крае, но только на некоторых направлениях противнику удавалось вклиниться в нашу оборону, однако организованным огнем и решительными контратаками положение на переднем крае обороны всякий раз восстанавливалось. С 21 по 25 июля танки и пехота противника, поддержанные ещё более мощными ударами авиации, артиллерии и минометов, на ряде участков пробили оборону 172-й дивизии. Продолжая сопротивление, вновь и вновь переходя в контратаки, полки дивизии вынуждены были отойти на ближние подступы к Могилеву. К 26 июля материальные возможности обороны города были полностью исчерпаны. Несмотря на огромные потери, те, кто остался в строю, были преисполнены мужества и готовности продолжить неравную борьбу. Однако Романов понял, что в ходе сражения наступил такой момент, когда дальнейшая оборона днепровского рубежа на ограниченном участке не могла уже более иметь оперативного значения. Попытка оставаться далее на занимаемых позициях угрожала истреблением подчиненных ему войск. Боеприпасы и продовольствие были израсходованы, пополнить их не было никакой возможности. Линия фронта откатилась далеко на восток.
26 июля командующий 61-го стрелкового корпуса генерал-майора Бакунин собрал совещание, на котором обсуждалась возможность вывода оставшихся сил корпуса из окружения. Решили начать его вечером 27 июля. Командир 172-й стрелковой дивизии генерал Романов, соединение которого было отрезано от остальных сил 61-го корпуса, на общем совещании, естественно, не был. Не имея надежной связи с корпусом, он принял решение о выходе из окружения самостоятельно.
В ночь на 26 июля Михаил Тимофеевич Романов собрал совещание в штабе дивизии в помещении городской школы № 11 по ул. Менжинского. Сюда были вызваны командиры, комиссары и начальники штабов стрелковых полков и других частей, подчиненных дивизии. Из свидетельств участников этого совещания удалось достаточно точно восстановить его ход. Генерал Романов открыл совещание следующим сообщением:
В заключение совещания Романов огласил следующий приказ:
Отдав боевой приказ, генерал Романов дал ещё ряд указаний: всем частям, штабам и подразделениям все имущество и вооружение, которое невозможно увезти с собой, привести в негодность или уничтожить; все деньги, которые в большой сумме хранились в финансовой части, сжечь; все боевые документы (коды, шифры и т. д.) сжечь; всех раненых, неспособных следовать самостоятельно, оставить в Могилеве в дивизионном госпитале вместе с медицинским персоналом. Старшим врачом назначить начальника дивизионного госпиталя военврача 2-го ранга Владимира Петровича Кузнецова.
С 5 по 25 июля 1941 года части 172-й дивизии, героически обороняя Могилёв, сковывали значительные силы немецких войск. Дивизия генерала Романова противостояла 3-й танковой и 10-й моторизованной дивизиям 24-го танкового корпуса танковой группы Гудериана. Длительная оборона могилевского рубежа не позволила гитлеровцам произвести фактическую оккупацию занятой ими территории, что дало возможность большому количеству наших войск в составе соединений, частей, подразделений мелкими группами и в одиночку выйти из окружения, соединиться со своими частями. Удерживая Могилев в своих руках, советские войска в немалой мере нарушали систему снабжения гитлеровских войск. Могилев являлся крупным узлом железных и шоссейных дорог и должен был служить перевалочным пунктом для следовавших с запада людских резервов и воинских грузов. Поэтому гитлеровское командование дополнительно бросило в 20-х числах июля крупные силы трёх дивизий своих войск на подавление сопротивления обескровленной, лишённой всякой связи с тылами, 172-й дивизии генерала Романова, хотя было ясно, что её сопротивление не может продлиться долго.
Вот что пишет о Романове бывший заместитель начальника штаба 13-й армии Семён Павлович Иванов:
При прорыве из окружения генерал-майор Романов был ранен и попал в плен. Сведения о дальнейшей судьбе храброго комдива расходятся. Так, в своей книге «В начале войны» А. И. Ерёменко пишет, что генерал-майор Романов бежал из плена, руководил партизанским отрядом, был схвачен немцами и казнён в Борисове. По другим данным генерал-майор М. Т. Романов в сентябре 1941 года назначен на должность начальника штаба 34-й армии.
Однако, наиболее достоверной представляется информация о том, что Михаил Тимофеевич Романов был заключён 19 ноября 1941 в концлагерь Хаммельбург, где и умер 3 декабря 1941 года от последствий пулевого ранения, полученного на фронте.. Захоронен на лагерном кладбище. В плену вёл себя достойно, что отмечалось допрашивавшим его германским офицером. В ходе допроса указал ложные данные о подчинённости его дивизии и фамилии командира корпуса.
В кинофильме «Битва за Москву» образ генерал-майора М.Романова воплотил народный артист России Борис Щербаков.
В 2009 году на киностудии «Беларусьфильм» снят фильм «Днепровский рубеж», в котором генерал-майора М.Романова играет артист Игорь Сигов.