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