Веничка Ерофеев едет из Москвы в подмосковный районный центр под названием Петушки. Там живет зазноба героя, восхитительная и неповторимая, к которой он ездит по пятницам, купив кулек конфет «Васильки» в качестве гостинца.
Веничка Ерофеев уже начал свое странствие. Накануне он принял стакан зубровки, а потом — на Каляевской — другой стакан, только уже не зубровки, а кориандровой, за этим последовали еще две кружки жигулевского пива и из горлышка — альб-де-десерт. «Вы, конечно, спросите: а дальше, Веничка, а дальше, что ты пил?» Герой не замедлит с ответом, правда, с некоторым трудом восстанавливая последовательность своих действий: на улице Чехова два стакана охотничьей. А потом он пошел в Центр, чтобы хоть раз на Кремль посмотреть, хотя знал, что все равно попадет на Курский вокзал. Но он и на Курский не попал, а попал в некий неведомый подъезд, из которого вышел — с мутной тяжестью в сердце, — когда рассвело. С патетическим надрывом он вопрошает: чего же больше в этой ноше — паралича или тошноты? «О, эфемерность! О, самое бессильное и позорное время в жизни моего народа — время от рассвета до открытия магазинов!» Веничка, как он сам говорит, не идет, а влечется, преодолевая похмельную тошноту, на Курский вокзал, откуда отправляется электричка в желанные Петушки. На вокзале он заходит в ресторан, и душа его содрогается в отчаянии, когда вышибала сообщает, что спиртного нет. Его душа жаждет самую малость — всего-то восемьсот граммов хереса. А его за эту самую жажду — при всем его похмельном малодушии и кротости — под белы руки подхватывают и выталкивают на воздух, а следом и чемоданчик с гостинцами («О звериный оскал бытия!»). Пройдут еще два «смертных» часа до отправления, которые Веничка предпочитает обойти молчанием, и вот он уже на некотором подъеме: чемоданчик его приобрел некоторую увесистость. В нем — две бутылки кубанской, две четвертинки российской и розовое крепкое. И еще два бутерброда, потому что первую дозу Веничка без закуски не может. Это потом вплоть до девятой он уже спокойно без нее обходится, а вот после девятой опять нужен бутерброд. Веничка откровенно делится с читателем тончайшими нюансами своего способа жизни, то бишь пития, плевал он на иронию воображаемых собеседников, в число которых попадают то Бог, то ангелы, то люди. Больше всего в его душе, по его признанию, «скорби» и «страха» и еще немоты, каждый день с утра его сердце источает этот настой и купается в нем до вечера. И как же, зная, что «мировая скорбь» вовсе не фикция, не пить кубанскую?
Так вот, осмотрев свои сокровища, Веничка затомился. Разве это ему нужно? Разве по этому тоскует его душа? Нет, не это ему нужно, но — желанно. Он берет четвертинку и бутерброд, выходит в тамбур и выпускает наконец погулять свой истомившийся в заключении дух. Он выпивает, пока электричка проходит отрезки пути между станциями Серп и Молот — Карачарово, затем Карачарово — Чухлинка и т. д. Он уже способен воспринимать впечатления бытия, он способен вспоминать разные истории своей жизни, раскрывая перед читателем свою тонкую и трепетную душу.
Одна из этих, полных черного юмора историй — как Веничку скинули с бригадирства. Производственный процесс работяг состоял из игры в сику, питья вермута и разматывания кабеля. Веничка процесс упростил: кабель вообще перестали трогать, день играли в сику, день пили вермут или одеколон «Свежесть». Но сгубило его другое. Романтик в душе, Веничка, заботясь о подчиненных, ввел индивидуальные графики и ежемесячную отчетность: кто сколько выпил, что и отражал в диаграммах. Они-то и попали случайно вместе с очередными соцобязательствами бригады в управление.
С тех пор Веничка, скатившись с общественной лестницы, на которую теперь плюет, загулял. Он ждет не дождется Петушков, где на перроне рыжие ресницы, опущенные ниц, и колыхание форм, и коса от затылка до попы, а за Петушками — младенец, самый пухлый и самый кроткий из всех младенцев, знающий букву «ю» и ждущий за это от Венички орехов. Царица небесная, как далеко еще до Петушков! Разве ж можно так просто это вытерпеть? Веничка выходит в тамбур и там пьет кубанскую прямо из горлышка, без бутерброда, запрокинув голову, как пианист. Выпив же, он продолжает мысленную беседу то с небесами, на которых волнуются, что он опять не доедет, то с младенцем, без которого чувствует себя одиноким.
Нет, Веничка не жалуется. Прожив на свете тридцать лет, он считает, что жизнь прекрасна, и, проезжая разные станции, делится обретенной за не столь уж долгий срок мудростью: то занимается исследованием пьяной икоты в её математическом аспекте, то развертывает перед читателем рецепты восхитительных коктейлей, состоящих из спиртного, разных видов парфюмерии и политуры. Постепенно, все более и более набираясь, он разговаривается с попутчиками, блещет философским складом ума и эрудицией. Затем Веничка рассказывает очередную байку контролеру Семенычу, берущему штрафы за безбилетный проезд граммами спиртного и большому охотнику до разного рода альковных историй, «Шахразада» Веничка — единственный безбилетник, кому удалось ни разу не поднести Семенычу, каждый раз заслушивающемуся его рассказами.
Так продолжается до тех пор, пока Веничке вдруг не начинают грезиться революция в отдельно взятом «Петушинском» районе, пленумы, избрание его, Венички, в президенты, потом отречение от власти и обиженное возвращение в Петушки, которых он никак не может найти. Веничка вроде приходит в себя, но и пассажиры чему-то грязно ухмыляются, на него глядя, то обращаются к нему: «товарищ лейтенант», то вообще непотребно: «сестрица». А за окном тьма, хотя вроде бы должно быть утро и светло. И поезд идет скорее всего не в Петушки, а почему-то в Москву.
Выходит Веничка, к своему искреннему изумлению, и впрямь в Москве, где на перроне сразу подвергается нападению четверых молодчиков. Они бьют его, он пытается убежать. Начинается преследование. И вот он — Кремль, который он так мечтал увидеть, вот она — брусчатка Красной площади, вот памятник Минину и Пожарскому, мимо которого пробегает спасающийся от преследователей герой. И все трагически кончается в неведомом подъезде, где бедного Веничку настигают те четверо и вонзают ему шило в самое горло…