Родился 13 июля 1923 г. в дер. Рамешки (Чухломской уезд Костромской губернии, ныне - Чухломской район Костромской области) в семье Ивана Михайловича и Натальи Михайловны Пуговкиных. Отец был мясником, мать вела домашнее хозяйство.
В 1936 г. семья переехала в Москву. Прибавив себе несколько лет в документах, Михаил Пуговкин устроился на завод учеником электромонтера. Также посещал занятия в драматическом кружке клуба им. И. П. Каляева под руководством Александра Шатова.
В конце 1930-х гг. по приглашению режиссера Федора Каверина стал выступать в качестве артиста вспомогательного состава Московского драматического театра (существовал в 1936-1944 гг.).
После начала Великой Отечественной войны ушел добровольцем на фронт. Был зачислен разведчиком в 1147-й стрелковый полк 353-й стрелковой дивизии.
В августе 1942 г. под Ворошиловградом (Украинская ССР, ныне - Луганск, Украина) получил тяжелое ранение в ногу. Проходил лечение в нескольких госпиталях, после чего был комиссован.
В 1943 г. вернулся в Москву. Главный режиссер Московского театра драмы (впоследствии вошел в Московский академический театр им. Вл. Маяковского) Николай Горчаков назначил его исполнителем главной роли молодого фронтовика Петра Огонькова в спектакле "Москвичка" по пьесе Виктора Гусева.
Осенью 1943 г. по итогам вступительных испытаний был зачислен в Школу-студию МХАТ. В 1944 г. был призван на воинскую службу во Второе Горьковское танковое училище. Решением начальника училища генерала Федора Раевского Пуговкину было предоставлено право проживания на частной квартире с условием ежемесячной подготовки новых программ армейской самодеятельности.
В 1945 г. возобновил обучение в Школе-студии МХАТ, окончил ее в 1947 г.
В 1947-1948 гг. был актером Театра Северного флота (Мурманск). Исполнял роли в постановках "Молодая гвардия" по произведению Александра Фадеева, "Русский вопрос" по пьесе Константина Симонова и др.
В 1948-1949 гг. работал в Вильнюсском театре русской драмы (ныне - Русский драматический театр Литвы). Играл в спектаклях "Последние" по пьесе Максима Горького и "Московский характер" по произведению Анатолия Софронова.
В 1950-1958 гг. - актер Московского театра имени Ленинского комсомола (ныне - Московский государственный театр "Ленком"). Был задействован в спектаклях: "Первая конная" по пьесе Всеволода Вишневского, "Парень из нашего города" по произведению Константина Симонова, "Фабричная девчонка" по пьесе Александра Володина, "Семья" по пьесе Ивана Попова, "Вишневый сад" по произведению Антона Чехова, "Сирано де Бержерак" по пьесе Эдмона Ростана и др.
В 1958-1959 гг. служил в Вологодском драматическом театре.
В 1960-1970-х гг. входил в труппу Театра-студии киноактера (ныне - Государственный театр киноактера, Москва).
Михаил Пуговкин много снимался в кино. Дебютной для него стала роль Степаши Барского в фильме Григория Рошаля "Дело Артамоновых" по роману Максима Горького (1941). Среди наиболее известных киноработ: Захар Силыч в фильмах Ивана Лукинского "Солдат Иван Бровкин" (1955) и "Иван Бровкин на целине" (1958), комендант общежития в комедии "Девчата" по повести Бориса Бедного (1961, режиссер Юрий Чулюкин), прораб Павел Степанович в комедии "Операция "Ы" и другие приключения Шурика" (1965, Леонид Гайдай), Яшка-артиллерист в фильме "Свадьба в Малиновке" по мотивам оперетты Бориса Александрова (1967, Андрей Тутышкин), царь Еремей в фильме-сказке "Варвара-краса, длинная коса" (1969, Александр Роу), отец Федор в комедии "12 стульев" по роману Ильи Ильфа и Евгения Петрова (1971, Леонид Гайдай), режиссер Карп Якин в комедии "Иван Васильевич меняет профессию" по мотивам пьесы Михаила Булгакова "Иван Васильевич" (1973, Леонид Гайдай), заведующий магазином Горбушкин в комедии "Не может быть!" по произведениям Михаила Зощенко (1975, Леонид Гайдай) и др. Последняя роль - дед Миша в комедийном мини-сериале Валерия Чикова "Бриллианты для Джульетты" (2005). В общей сложности Михаил Пуговкин снялся в более чем девяноста фильмах.
С 1991 г. актер проживал в Ялте. В конце 1990-х гг. вернулся в Москву.
Михаил Пуговкин скончался 25 июля 2008 г. в Москве на 86-м году жизни. Похоронен 29 июля 2008 г. на столичном Ваганьковском кладбище.
Народный артист СССР (1988).
Был награжден орденами "Знак Почета" (1983), "За заслуги перед Отечеством" IV степени (2002), Почета (2003); "За заслуги" III степени (Украина, 1999).
Являлся почетным гражданином Ялты (1996) и Новокубанска (1998).
Автор книги "Это все было бы смешно…" (2000).
Был трижды женат. Первая супруга - заслуженная артистка РСФСР Надежда Надеждина, вторая - эстрадная певица Александра Лукьянченко, третья - администратор Союзконцерта Ирина Лаврова. Дочь от первого брака - Елена Прибрежецкая (род. 1947).