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