Во время выступления рабочих в Новочеркасске в 1962 году, находясь в должности заместителя командующего Северо-Кавказским военным округом, отказался атаковать демонстрантов танками.
Родился 29 ноября 1906(19061129) в слободе Алексеевке Воронежской губернии (ныне город Белгородской области) в семье крестьянина.
В 1920 году окончил неполную среднюю школу. Работал забойщиком на шахте «Коммунар» в Кривом Роге.
В Красной Армии с сентября 1928 года. Учился в Москве на курсах усовершенствования командного состава. В 1940 году окончил Военную академию имени М. В. Фрунзе. Участник советско-финляндской войны 1939—1940 годов. Член ВКП(б)/КПСС с 1930 года.
В июне 1962 года в Новочеркасске произошло стихийное выступление рабочих против резкого ухудшения условий жизни. По распоряжению властей СССР на подавление выступления были направлены части СКВО. Одной из задач военных было не допустить прохода демонстрантов по мосту через реку Тузлов. М. К. Шапошников получил приказ атаковать демонстрантов танками. Генерал отказался выполнить приказ со словами: «Не вижу перед собой такого противника, которого следовало бы атаковать нашими танками». После этого генерал Шапошников приказал мотострелкам разрядить автоматы и карабины и сдать боеприпасы.
На вопрос, что было бы, если бы он подчинился приказу, и танки, стоявшие на мосту, атаковали демонстрантов, генерал Шапошников ответил: «Погибли бы тысячи».
В 1966 году генерал-лейтенант Шапошников отправлен в отставку. Против него было возбуждено уголовное дело по обвинению в антисоветской пропаганде, в 1967 году — исключен из КПСС. Жил в Ростове-на-Дону. Скончался 28 июня 1994 года.