Родился в крестьянской семье. Был старшим, кроме Михаила в семье было еще пятеро детей.
Учился в Ставропольском агропедкомбинате на тракториста, затем учился в техникуме механизации сельского хозяйства, работал в совхозе «Известия» механиком.
В 1933 году был призван в Красную Армию, окончил Ульяновское танковое училище. Служил в Ленинградском военном округе в городе Луга.
К 1937 году дослужился до командира отдельного танкового батальона. Отличился на манёврах в 1938 году, был удостоен личной беседы с наркомом обороны. Получил разрешение на обучение в Академии имени Фрунзе.
В 1939 году окончил Военную академию имени М. В. Фрунзе, а также разведшколу.
Принимал участие в Великой Отечественной войне. Был дважды ранен, потерял пальцы на левой ступне. Командовал полком.
С 26 ноября 1944 по 6 марта 1945 года полковник Фёдоров командовал 10-й стрелковой дивизией. Затем стал заместителем начальника разведки штаба фронта.
Закончил Военную академию генерального штаба им. К. Ворошилова. Служил начальником разведки Забайкальского военного округа, затем Группы советских войск в Германии.
С 1955 года служил в управление разведки Генерального штаба. В 1959 году вышел в отставку. Скончался спустя полгода.
Похоронен на Ваганьковском кладбище в Москве.
Был женат, вырастил трёх сыновей.