Михаил Яковлевич Крупчатников родился в 5 июля 1897 года в деревне Сараево Бакаревской волости Бежецкого уезда Тверской губернии (ныне Сонковского района Тверской области).
В 1902 году семья переехала в Колпино Петербургской губернии (ныне в составе Колпинского района Санкт-Петербурга).
С окончанием церковно-приходской школы Крупчатников был принят на казённый счёт в 12-ю гимназию Санкт-Петербурга, которую в 1916 году окончил с золотой медалью. В том же году поступил на механическое отделение Петроградского политехнического института, однако в конце 1916 года был призван в армию и 1 января 1917 года был зачислен юнкером в Константиновское артиллерийское училище, которое окончил 1 июля с производством в прапорщики. Некоторе время служил в 1-й запасной тяжёлой артиллерийской бригаде, а в октябре 1917 года был направлен на Румынский фронт, где был назначен младшим офицером 4-й батареи 103-й артиллерийской бригады. Вскоре был избран командиром этой же батареи.
В апреле 1918 года Крупчатников вернулся в Петроград, где вновь стал студентом Политехнического института, но в декабре того же года вступил в ряды РККА и был назначен на должность начальника отдела в Управление артиллерийского снабжения 7-й армии. Принимал участие в обороне Петрограда от войск Юденича.
Во второй половине 1920 года Крупчатников был принят в качестве слушателя в Военно-инженерную академию РККА, однако в январе 1921 года был отчислен в связи с ухудшением здоровья и был назначен на должность младшего командира в Артиллерийское (бывшее Михайловское) училище, а вскоре был переведён на прежнее место службы. Через несколько месяцев Крупчатников был зачислен в качестве слушателя в Артиллерийскую академию, позднее переименованную в Военно-техническую академию РККА. В январе 1927 года окончил баллистический факультет академии, после чего был назначен на должность инженера высшей квалификации в конструкторское бюро артиллерийского комитета Главного артиллерийского управления, а в 1930 году - на должность начальника сектора Артиллерийского научно-исследовательского института.
С 1932 года по совместительству работал в качестве старшего преподавателя, а затем заведующего кафедрой проектирования артиллерийских систем в Ленинградском военно-механическом институте. С 1936 года был постоянным консультантом по вопросам повышения живучести артиллерийских стволов в специальной лаборатории, а затем в научно-исследовательском институте № 13 Наркомата вооружения.
В мае 1937 года Крупчатников был назначен на должность руководителя проектной группы проектно-конструкторского бюро завода «Большевик», где возглавил направление проектирования артиллерийских стволов. Участвовал в разработке стволов крупных калибров для орудий морской, береговой и полевой артиллерии большой и особой мощности, а под его руководством было разработано несколько образцов корабельной артиллерии, в том числе и орудий главного калибра. Крупчатников разработал новую методику расчета стволов, обеспечивающую создание корабельных артиллерийских установок исключительно большой дальнобойности и высокой живучести.
В это же время преподавал в Ленинградском военно-механическом институте и Ленинградском институте точной механики и оптики.
Под руководством Крупчатникова шло проектирование стволов орудий крупных калибров морской и сухопутной артиллерии. Сам Крупчатников вёл проектирование стволов Б-37, Б-38, Б-50, Б-54, Б-4, Б-10, Б-30, А-19, БР-2 и других. Крупным успехом советских конструкторов было создание 406-мм пушки, предназначенной для установки в башнях главного калибра линейного корабля «Советский Союз».
1 августа 1940 года Михаилу Яковлевичу Крупчатникову присвоено воинское звание «генерал-майор технических войск».
Указом Президиума Верховного Совета СССР от 28 октября 1940 года за выдающиеся достижения в области создания новых типов вооружения, поднимающих оборонную мощь Советского Союза, генерал-майору технических войск Михаилу Яковлевичу Крупчатникову присвоено звание Героя Социалистического Труда с вручением ордена Ленина и медали «Серп и молот».
Первые образцы сверхмощных орудий планировалось устанавливать на башнях главного калибра линейного корабля «Советский Союз» и в системе береговой обороны острова Нарген с целью защиты Финского залива и Таллина, однако начало Великой Отечественной войны сорвало намеченные планы. 406-мм пушка использовалась в ходе обороны Ленинграда. Первые стрельбы 23 августа 1941 года показали высокую точность стрельбы и большое разрушительное действие снарядов. Орудия могли стрелять на расстояние более 45 км. 12 января 1943 года 406-мм орудия наряду с другими артиллерийскими орудиями обстреливали оборону противника в районе 8-й ГЭС, а в январе 1944 года - в районе деревни Капорское на дальность 46-48 км. Последние стрельбы орудия провели 9 и 10 июня 1944 года в ходе Выборгской операции.
В годы войны Крупчатников продолжил работать над разрешением многих вопросов артиллерийской науки и техники, а также руководил разработкой новых образцов вооружения.
За разработку образцов артиллерийского вооружения для Военно-Морского Флота постановлением 10 апреля 1942 года Михаилу Яковлевичу Крупчатникову была присуждена Сталинская премия.
В августе 1944 года Крупчатников был назначен главным конструктором НИИ. В связи с передачей конструкторского отдела НИИ в Центральное артиллерийское конструкторское бюро назначается помощником начальника этого бюро.
После войны была создана военно-морская база на полуострове Ханко, первая в СССР выдвинутая за пределы страны. На этой базе находились 9-я батарея в составе трех 305-миллиметровых артиллерийских установок и 17-я батарея из четырёх 180-миллиметровых артиллерийских установок . Дальность огня орудий 305-мм была вполне достаточной для того, чтобы, тесно взаимодействуя с батареями на островах Осмуссаар и Тахкун, с успехом вести бой с кораблями всех классов.
По ходатайству ректора Ленинградского военно-механического института Крупчатников был направлен на постоянную работу в Военно-механический институт в качестве заведующего кафедрой проектирования артиллерийских систем.
Михаил Яковлевич Крупчатников умер 31 августа 1947 года в Ленинграде. Похоронен на Большеохтинском кладбище.