Сорокин окончил Бакинское мореходное училище в 1901 году. Судьба распорядилась так, что в русско-японскую войну он служил младшим штурманом на крейсере «Аврора» и прошёл Цусимское сражение. Позже командовал гидрографическим судном «Азимут», участвовал в Первой мировой и Гражданской войнах, был награждён орденами Святого Станислава и Святой Анны.
Но главное дело его жизни было связано с ледоколами. С 1923 по 1934 год Сорокин с перерывами командовал «Святогором», переименованным в 1927 году в «Красин». В 1929 году он совершил то, что до него не удавалось никому: провёл через Карское море 26 пароходов за одну навигацию. Эта Карская экспедиция превзошла по масштабу все предыдущие почти в десять раз.
С мая 1938 года Сорокин принял «Ермак». В том же году он участвовал в спасении дрейфовавших во льдах ледокольных пароходов «Г. Седов», «Малыгин» и «Садко». «Ермак» под его командованием достиг широты 83°06? — рекорда свободного плавания для того времени — и вывел из ледового плена 17 судов. Капитаном «Ермака» Сорокин оставался до 1947 года, затем вновь командовал им в 1950–1951 годах, а позже перешёл на «Александр Сибиряков».
Михаил Сорокин воспитал целую плеяду полярных капитанов. Его именем названы дизель-электрический ледокол «Капитан Сорокин», а также два острова — в Карском море и в Антарктике, в море Сомова. Скончался он 24 июня 1955 года в Ленинграде.