Окончив начальную школу, работал на разных предприятиях. Перед призывом в армию работал в леспромхозе в городе Зима.
Призван в действующую армию Зиминским райвоенкоматом Иркутской области 7 июля 1941.
На фронте с октября 1941. Защищал город Ленинград.
В апреле 1942 был тяжело ранен в плечо. После госпиталя вернулся на фронт только в феврале 1944. Отличился в ходе Свирско-Петрозаводской фронтовой операции Карельского фронта.
21 июня 1944 в районе города Лодейное Поле сержант Михаил Соколов первым со своим отделением, невзирая на сильный заградительный артиллерийский и пулемётный огонь противника, форсировал реку Свирь. Доплыв до противоположного берега, сделал проходы в проволочных заграждениях. Увлекая за собой бойцов, Соколов первым ворвался в передовую траншею противника. Гранатами и автоматным огнём уничтожил четырёх белофиннов и захватил исправный станковый пулемёт. Он тотчас же повернул его и ударил вдоль траншеи. Воспользовавшись замешательством врага, повёл бойцов дальше. Наступая вдоль ходов сообщения, отделение сержанта Соколова достигло рокадной дороги и оседлало её. При этом было уничтожено ещё несколько белофинских солдат, а одного Соколов взял в плен. Задача командования была выполнена.
Указом Президиума Верховного Совета СССР от 21 июля 1944 за образцовое выполнение заданий командования и проявленные отвагу, мужество и героизм в бою, за захват плацдарма на реке Свирь сержанту Соколову Михаилу Васильевичу присвоено звание Героя Советского Союза с вручением ордена Ленина и медали «Золотая Звезда».
После войны демобилизовался.
Жил в Москве. Работал в строительном управлении № 46 треста «Мосэлектромонтаж».
Умер 16 сентября 1968. Похоронен в Москве на Востряковском кладбище.