Михаил Павлович Васильев родился 2 октября 1922 года в селе Крутченская Байгора Тамбовской губернии (ныне — Усманский район Липецкой области) в семье служащего.
В 1940 году он окончил Усманское педагогическое училище, после чего работал учителем.
В августе 1941 года Васильев был призван на службу в Красную Армию. С ноября того же года — на фронтах Великой Отечественной войны. К январю 1945 года гвардии старшина Михаил Васильев командовал орудием 148-го гвардейского артиллерийско-миномётного полка 7-го гвардейского кавалерийского корпуса 1-го белорусского фронта. Отличился во время освобождения Польши.
За период с 14 января по 4 февраля 1945 года орудийный расчёт Васильева уничтожил 8 танков, 4 БТР, орудие, 3 пулемёта, 7 автомашин, а также большое количество живой силы противника.
Указом Президиума Верховного Совета СССР от 31 мая 1945 года за "образцовое выполнение боевого задания командования в борьбе с немецкими захватчиками и проявленные при этом мужество и героизм" гвардии старшина Михаил Васильев был удостоен высокого звания Героя Советского Союза.
После окончания войны Васильев продолжил службу в Советской Армии.
В 1948 году он был демобилизован.
Указом Президиума Верховного Совета СССР от 23 августа 1948 года Васильев был лишён звания Героя Советского Союза. Он был восстановлен в звании 4 сентября 1972 года.
Проживал в Москве, умер 23 марта 1998 года.