Михаил Петрович Одинцов родился 18 ноября 1921 года в селе Полозово, ныне Частинского района Пермской области, в семье служащего.
Окончил 7 классов Свердловской школы № 36. С 1938 года в Красной Армии. В 1939 году Михаил Одинцов окончил Пермскую военную школу пилотов, в 1940 году - Энгельсское военное училище лётчиков.
С июня 1941 года на фронтах Великой Отечественной войны. К сентябрю 1943 года командир эскадрильи 820-го штурмового авиационного полка (292-я штурмовая авиационная дивизия, 1-й штурмовой авиационный корпус, 5-я Воздушная армия, Степной фронт старший лейтенант М. П. Одинцов совершил 96 боевых вылетов, нанёс большой урон врагу. 4 Февраля 1944 года за мужество и воинскую доблесть, проявленные в боях с врагами, удостоен звания Героя Советского Союза.
К концу войны заместитель командира 155-го Гвардейского штурмового авиационного полка (9-я Гвардейская штурмовая авиационная дивизия, 1-й Гвардейский штурмовой авиационный корпус, 2-я Воздушная армия, 1-й Украинский фронт) гвардии майор М.П. Одинцов совершил 215 успешных боевых вылетов, в воздушных боях сбил 4 самолёта противника. 27 июня 1945 года награждён второй медалью "Золотая Звезда".
После войны командовал авиационным полком, дивизией и авиацией военного округа. В 1952 году окончил Военно-политическую академию, в 1959 году - Военную академию Генерального штаба. Заслуженный военный лётчик СССР. Генерал-полковник авиации.
С 1976 года генерал-инспектор ВВС Главной инспекции Министерства обороны СССР.
С 1981 года помощник представителя Главнокомандующего Объединёнными вооружёнными силами государств - участников Варшавского Договора по ВВС в Войске Польском.
Автор книг: «Испытание огнём», «Преодоление», «Тогда, в 1942-м...»
Награждён орденами: Ленина (дважды), Октябрьской революции, Красного Знамени (пять), Александра Невского, Отечественной войны 1-й степени (дважды), Отечественной войны 2-й степени, Красной Звезды, «За службу Родине в Вооружённых Силах СССР» 3-й степени; медалями, иностранными орденами.
Бронзовый бюст установлен в Свердловске.