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