Дело происходило в Москве 1924 года, бродячий пес Шарик замерзает в подворотне. Повар-негодяй плеснул в него кипятком и до костей обварил левый бок. Летом можно было бы поесть лечебной травки, но зимой вылечиться псу было нечем. Он не ел уже три дня. В поле зрения пса появляется некий господин в шубе и прикармливает его краковской колбасой. Шарик верноподданно следует за ним, по пути гадая, кто же такой его благодетель, раз даже швейцар в богатом доме, гроза бродячих собак, разговаривает с ним подобострастно. Приманивая пса колбасой и называя Шариком, господин отвёл его к себе домой. Шарик окончательно поселился у профессора. Кроме Преображенского в квартире жили Зина и Дарья Петровна. Зина выводила Шарика в новеньком ошейнике погулять, а Дарья Петровна, строгое сердце которой пёс покорил, допустила его в свои владения и позволила спать на тёплой плите. По вечерам Шарик лежал у ног своего хозяина и слушал, как тот мурлычет под нос оперные арии, изучая человеческие мозги в банках. Но скоро идиллия кончилась. Доктор Борменталь привёз из морга плохо пахнущий чемоданчик, пса словили, усыпили и уложили на хирургический стол. Преображенский и Борменталь оперируют Шарика. Ему вживляют семенники и гипофиз, взятые от свежего человеческого трупа. Это должно, по замыслу медиков, открыть новые горизонты в их исследовании механизма омоложения. Это был рискованный эксперимент, профессор был уверен, что пёс не выживет. Шарик выжил. За неделю он сильно облысел и вырос. Вскоре пёс отчётливо произнёс «абыр» — «рыба» наоборот, встал на задние лапы и обругал профессора матом. Молодой доктор делает восторженный вывод: перемена гипофиза дает не омоложение, а полное очеловечивание – и эмоционально называет своего учителя гением. Однако сам профессор хмуро засиживается над историей болезни человека, чей гипофиз пересадили Шарику. Пересаженные псу органы были взяты у 25-летнего многократно судимого пролетария Клима Чугункина, который зарабатывал, играя в трактирах на балалайке, и погиб в пьяной драке. Преображенский считал, что личность донора передалась созданному им существу. Медики пытаются воспитать свое творение, привить нужные навыки, образовать. Вкус Шарика в одежде, его речь и повадки нервируют интеллигентного Преображенского. По квартире висят плакаты, запрещающие ругаться, плевать, бросать окурки, грызть семечки. У самого Шарика отношение к воспитанию пассивно-агрессивное.
Тем временем по Москве пошли слухи о конце света. Квартиру Преображенского осадили богомольные старухи, желающие посмотреть на «говорящую собачку». Шарик ругался матом, плевал на пол, играл на балалайке, пугал Зину, подкарауливая её в темноте, ловил блох зубами и называл профессора Преображенского папашей, чем приводил его в бешенство. Боялся бывший Шарик только доктора Борменталя, который взял на себя его воспитание. Бывшего пса начал опекать Швондер. Он подучил того потребовать у профессора прописать его в квартире и оформить ему паспорт. Бывший пёс выбрал себе имя Полиграф Полиграфыч, а фамилию взял «наследственную» — Шариков. Жизнь Преображенского превратилась в кошмар. Из-за расшатанной нервной системы профессор не мог нормально работать. Шариков пристрастился к водке и, напившись, вёл себя ещё неприличнее, чем в трезвом виде.
Новый скандал – Шариков, размахивая документами, претендует на жилплощадь в квартире профессора. Тот обещает застрелить Швондера и взамен выселения угрожает Полиграфу лишением питания. Шариков притихает, но ненадолго – он украл в кабинете профессора два червонца, причем кражу пытался свалить на Зину, напился и привел в дом собутыльников, после выдворения которых у Преображенского пропали малахитовая пепельница, бобровая шапка и любимая трость.
Глубокой ночью Преображенский и Борменталь обсуждали эксперимент профессора. Борменталь был очень благодарен Преображенскому за то, что тот взял его, полуголодного студента, под свою опеку. Доктор видел, как измучился профессор, и считал, что есть только один выход: превратить Шарикова обратно в пса. Профессор не хотел об этом слышать. У Шарикова есть паспорт, он признан человеком, пролетарием. Если он исчезнет, Преображенского, учёного мирового значения, может, и не тронут, но Борменталя он защитить не сможет.
Ночью Дарья Петровна выдворяет пьяного Полиграфа из кухни, Борменталь обещает устроить ему поутру скандал. Шариков исчезает, а вернувшись, сообщает, что устроился на службу – заведующим подотделом по очистке Москвы от бродячих животных. Устроил его на эту должность, разумеется, Швондер. Шариков некоторое время вёл себя тихо, но затем привёл в квартиру худенькую барышню и заявил, что будет с ней жить. Преображенский объяснил несчастной барышне, что её кавалер — искусственно созданное существо, дал ей денег, и та исчезла навсегда.
К профессору приходит его прежний пациент – влиятельный мужчина в военной форме. Из его рассказа Преображенский узнает, что Шариков написал донос на него и Борменталя – якобы те высказывали угрозы убийством по отношению к Полиграфу и Швондеру, произносили контрреволюционные речи, незаконно хранят оружие и т.д. После этого Шарикову безапелляционно предлагают убираться из квартиры, но тот сначала упрямится, потом наглеет, а в конце концов и вовсе достает пистолет. Медики скручивают его, разоруживают и усыпляют хлороформом, после чего звучит запрет кому-либо входить или выходить из квартиры и в смотровой начинается какая-то деятельность.
Через десять дней к Преображенскому явились уголовный следователь, чёрный человек в штатском и Швондер. Следователь обвинил всех живущих в квартире в убийстве «заведующего подотделом очистки». Однако Преображенский спокоен – он рассказывает, что его лабораторное существо внезапно и необъяснимо деградировало из человека обратно в собаку, и показывает милиции и следователю странное создание, в котором еще узнаются черты Полиграфа Полиграфовича. Милиционер перекрестился, а чёрный человек упал в обморок. Через некоторое время Шариков окончательно стал псом. Он остался жить у профессора и, лёжа у ног своего бога, думал, как же ему повезло, но так и не понял, для чего ему «исполосовали всю голову».